wizzard: (Default)
[personal profile] wizzard
Итак, прошла неделя, 2411 2850 тестов проходят, работают всякие JSON.stringify/JSON.parse (ну, Крокфордовские, написанные на pure js, в смысле), часть бенчмарков, геттеры-сеттеры, то-сё.

Начало наконец-то подзаебывать! И да, теперь я еще более знаю JavaScript и местами меньше его люблю, ггг.

Всё-таки страшно переусложненная спека. Вот .NET CLR "из говна и палок" пишется за полтора вечера, а тут я до похожего состояния неделю код фигачил.

Ну то есть я безжалостно конечно срезал углы и там и там, но если в случае с MSIL это просто пыщь - и рантайм сразу скрэшился, то тут у тебя какой-нибудь каст ты проебал сделать или забил, оно диспатчнулось куда-то и обосрало весь хип, а потом уже всплыло.

Не хватает RegExp и Date. С регексами надо явно что-то прилинковать. Но блииин, хотел же на pure Lua. А нету. И на JS нету. Надо как-то удержаться не писать свой движок регексов, этого только не хватало :-D

С одной стороны, стало на большинстве тестов медленнее V8. С другой стороны... я удивлён, что так далеко смог уехать на однопроходном трансляторе, у которого ни IR, ни бектрекинга нету, просто строки конкатенируются. Пора перестать эмитировать по замыканию на каждое присваивание и short-cutting оператор, что ли...

(А, и еще я наконец-то понял, почему те, кто делают JS-движки, так пытаются отсоветовать использование with!)

Из смешного:
Lua: bench/v8/crypto.lua:2539: main function has more than 200 local variables. Что одни хороши, что вторые.

Profile

wizzard: (Default)
wizzard

January 2019

S M T W T F S
  12 345
6789101112
1314 1516171819
202122 23242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 26th, 2019 05:13 am
Powered by Dreamwidth Studios