[16:55:42] <yeo> valexey, да, что-то я перемудрил похоже
[17:27:58] <valexey> yeo: ы? не работает шоле?
[17:28:26] <yeo> должно работать, но можно улучшить :)
[17:28:44] <valexey> ну, это да, улучшать можно до бесконечности тащемто :-)
[17:29:01] <valexey> такс, надо запустить прогон тестов уже с адским решением
[17:29:11] <valexey> часиков через 4-5 будет результат думаю
[19:32:33] <valexey> yeo: а не знаешь, есть какие-то поползновения в сторону компиляции Ады в WebAssembly?
[19:32:55] <yeo> не слышал о таких. а нужно?
[19:33:24] <yeo> нас пока обычный js устраивает
[19:34:15] <valexey> думаю да. т.е. эволюция такая: компиляция в js, компиляция в asm.js, компиляция в webasm
[19:34:28] <valexey> последнее выполняется в браузерах с нативной скоростью
[19:34:33] <valexey> и не только вбраузерах :-)
[19:35:05] <valexey> если сейчас возможно компилировать в asm.js, то из asm.js можно преобразовать в webasm, есть тулзы для этого
[19:35:13] <valexey> но бинарь конечно менее оптимальный получается.
[19:36:00] <yeo> ну если будет конкретная необходимость, можно будет подумать
[19:37:07] <valexey> сейчас есть три варианта получить webasm: 1) сделать сразу генерацию в webasm. 2) сделать генерацию в asm.js, оттуда уже станартной тулзой в webasm. 3) выдывать LLVM биткод (или как его там), оттуда в уже llvm'ной тулзой в webasm.
[19:37:27] <valexey> webasm - это по сути AST, то есть это не байткод.
[19:37:55] <valexey> и оно заточено на языки которым GC не нужен. т.е. на нативные.
[19:38:18] <yeo> asm.js был ужасен, когда я на него смотрел
[19:38:20] <valexey> поэтому пока например нет компилятора Go в webasm - они ждут когда в webasm добавят сервис для GC
[19:39:22] <valexey> пока из полноценных языков в webasm компилируется C/C++ (двумя способами - через llvm и через asm.js) и Rust
[19:40:14] <valexey> у Rust компиляция лучше в том смысле, что он сразу на уровне AST генерит webasm, безе перегонялова в низкоуровневый байткод и обратной перегонки в AST/webasm.
[19:40:24] <valexey> В итоге у Rust бинари webasm'овые сильно компактней
[19:40:26] <valexey> примерно на порядок
[19:41:06] <valexey> Думаю GC в webasm завезут в 2017 году и тогда туда ломанутся все.
[19:42:16] <valexey> эра жабаскрипта, как языка и платформы для веб-приложений, уходит в лету.
[19:43:33] <yeo> а где документация на это?
[19:43:54] <valexey> http://webassembly.org/
[19:44:09] <valexey> https://github.com/webassembly/
[19:45:23] <valexey> так что формат бинарный (т.е. сериализованое AST-представление в бинарном виде), но есть pretty printed для человеков.
[19:46:06] <valexey> https://camo.githubusercontent.com/01a6d6514431a56eb49608d823650033c32310aa/68747470733a2f2f7261772e6769746875622e636f6d2f576562417373656d626c792f7761736d2d656d736372697074656e2f6d61737465722f6d656469612f6578616d706c652e706e67
[19:47:19] <valexey> в этом всем надо конечно копаться, разбираться.
[19:47:36] <valexey> есть референсный интерпретатор для webasm'a
[19:47:46] <valexey> есть реализации в браузерах
[19:47:57] <valexey> есть типа полупромышленный для встраивания в свои программы (не в браузер)
[19:48:20] <valexey> я хочу попробовать сделать интерпретатор или какую иную среду исполнения для всякого микроконтроллерного
[19:49:47] <valexey> да, и там довольно вменяемая система модулей, в webasm'e
[20:19:46] <valexey> из минусов - там вроде бы инты только 32 и 64 бит
[20:44:16] <yeo> а смысл тащить это на микроконтроллеры? web api там нет. есть же куча других IR, тотже LLVM
[20:49:06] <valexey> в том, чтобы одна платформа, один IR, один IoT!
[20:49:08] <valexey> :-)
[20:49:38] <valexey> если уж на микроконтроллеры, что пожирнее, сейчас целиком node.js тащут...
[20:49:48] <valexey> и пишут на жабаскрипте..
[20:57:41] <valexey> алсо он заточен именно на то, чтобы он был компактным и его можно было легко парсить и интерпретировать
[20:57:47] <valexey> в отличие от того же LLVM IR
[20:58:27] <valexey> плюс, поскольку оно таки не байткод, а AST, возможно проводить больше анализа испоняемого кода, что тоже полезно
[21:37:49] <valexey> вообще, если у консорциума всё получится, а у них видимо получится, то webasm станет более популярной для любых приложений, чем jvm и .net вместе взятые.
[21:44:40] <valexey> *более популярной платформой
[21:45:11] <valexey> для GUI-приложений практически единственной.
[21:45:28] <valexey> на серверную сторону оно уже проникло, кстати.
[23:27:35] <valexey> yeo: а в той задачке у тебя по умолчанию релиз собирается?
[23:27:48] <valexey> т.е. с -O3?
[23:28:10] <yeo> да
[23:32:02] <valexey> ок