в поисках виртуальной машины
May. 16th, 2009 12:04 am![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
пока меня поразило устройство двух виртуальных машин
- Macromedia/Adobe Flash AVM2 (эволюция превратила маленькую кавайную зверушку в огромного хаотичного монстра)
- виртуальная машина PyPy (концептуально и круто, и, эмм, ест моск. очень сильно ест моск)
что ищется в первую очередь:
- code serializaltion [a.k.a. serialize(eval(‘lambda x, y: x+y’)) ]
- thread serialization (tasklets, threadlets, кто как называет)
- контроль над исполнением потоков (ручной scheduler и\или управляемое preemptive multitasking)
- наличие интерпретатора\компилятора языка высокого уровня под данную VM
- работающего под ней же ;)
что было бы прикольно иметь:
- в идеале – замкнутость, т.е. чтобы внутри этой VM можно было запустить экземпляр такой же VM, но это не обязательно
- code instrumentation (как минимум _pentry/_pexit, в идеале – встроенный profiling)
- встроенный debugger было бы без сомнения круто, но в случае чего его можно и дописать
- еще интересна рефлексия программы и\или рефлексия самой VM.
- быстродействие вторично, но все же лучше, чтобы скорость не отличалась более чем в 1000 раз от кода на C
UPD: еще одно применение thread serialization - для ускорения запуска тяжелых программ (fread+memcpy явно быстрее загрузки чего-либо, даже тривиального), вспомнил после прочтения http://zhengxi.livejournal.com/73471.html
no subject
Date: 2009-05-15 11:33 pm (UTC)Эрланг как вариант, да.
Опять же, интересует, как будут вести себя все эти штуки, если на машине будет, скажем, 100к потоков (которые в основном спят, но иногда просыпаются и могут выполнять долгоиграющие действия)
Цель - уменьшить максимальное response time, возможно, за счет увеличения среднего. Т.е. если из 1000 запросов один займет секунду, а остальные 2 мс, то это плохо. Если все займут по 20 мсек, то это хорошо (невзирая на то, что общая загрузка будет выше и все такое)
no subject
Date: 2009-05-15 11:37 pm (UTC)as a completely unrelated note, пора спать, а то меня сейчас начнет заносить в бред
no subject
Date: 2009-05-15 11:41 pm (UTC)no subject
Date: 2009-05-17 05:26 am (UTC)а размышления это на тему "как может выглядеть движок для" -> http://wizzard0.livejournal.com/26452.html
записи будут помечаться тэгом "муравьи"
no subject
Date: 2009-05-17 10:54 am (UTC)no subject
Date: 2009-05-15 11:41 pm (UTC)