|
2.13, Аноним (13), 08:52, 17/03/2023 [^] [^^] [^^^] [ответить]
| +9 +/– |
Это скорее компилятор, чем интерпритатор (орфография автора сохранена).
| |
|
|
|
3.59, Аноним (59), 15:55, 17/03/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
далее через CPython собираешь бинарник и цикл можно повторять, до тех пор пока не сойдётся
| |
|
4.74, YetAnotherOnanym (ok), 17:49, 17/03/2023 [^] [^^] [^^^] [ответить]
| +1 +/– |
Не факт, что сойдётся. В лучшем случае потребуется доопределение для сходимости, а в худшем - будет расходиться. Может быть, даже экспоненциально.
| |
|
|
2.34, _kp (ok), 11:33, 17/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
Есть. Эффективность поченного кода другой вопрос. Но есть.
| |
|
3.84, Аноним (-), 01:23, 18/03/2023 [^] [^^] [^^^] [ответить]
| +6 +/– |
> Есть. Эффективность поченного кода другой вопрос. Но есть.
Можно будет получить выразительность ассемблера и скорость питона. Суперкомбо :)
| |
|
4.98, _kp (ok), 11:43, 18/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
Осторожне с такими шутками. А то я чуть не подавися, и кофе пролил.
| |
|
|
|
1.24, Шарп (ok), 09:32, 17/03/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Emscripten это не только компилятор в wasm, но и эмуляция окружения (сокеты через websocket, printf в консоль браузера) и набор портированных библиотек (pthread, sdl2, openal и т.д.).
Как дела с этим у Cheerp? Выполнение абстрактного кода в вакууме не интересует.
| |
|
2.31, Аноним (13), 10:47, 17/03/2023 [^] [^^] [^^^] [ответить]
| +2 +/– |
> сокеты через websocket, printf в консоль браузера
Представляю, какой там оверхед при пересечении границы между WASM и DOM. Запомните, дети: если нужно общаться с внешним миром, манипулировать элементами на странице, посылать туда-сюда запросы, ну и вообще -- если хочется интерактив, то яваскрипт в разы (в разЫ, Ы в конце) быстрее, чем WASM. Единственный сценарий, где WASM быстрее JS -- это числодробилка, которая ровно один раз получила число на вход, погоняла над ним алгоритм в течение часа и ровно один раз отдала результат обратно яваскрипту.
| |
|
3.35, Anon62513512124 (?), 11:46, 17/03/2023 [^] [^^] [^^^] [ответить]
| +3 +/– |
Ну, вообще есть радикальная альтернатива этому подходу - не использовать DOM дерево, а вместо него - QML
| |
3.40, Рустик (?), 12:55, 17/03/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Представляю, какой там оверхед при пересечении границы между WASM и DOM.
200нс из доки emscripten, т.е. можно забить. Жиснявая вебня куда дольше ворочаться будет.
| |
3.47, Аноним (47), 14:17, 17/03/2023 [^] [^^] [^^^] [ответить] | +/– | Ради интереса запускал какой-то свой helloworld на Qt в emscripten Там была таб... большой текст свёрнут, показать | |
|
4.54, Аноним (13), 15:04, 17/03/2023 [^] [^^] [^^^] [ответить] | +/– | Канва работает быстрее DOM No shit, Sherlock Правда решение WASM канва нуж... большой текст свёрнут, показать | |
|
5.57, Рустик (?), 15:39, 17/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
> нужно сравнивать с аналогичным "JS + канва"
Предъяви, сравним.
> чтобы отправить строку из WASM в JS, нужно эту строку:
Нет не нужно, на стороне c++ принимаешь строку как std::wstring и дальше с ним и работаешь.
| |
|
6.61, Аноним (13), 16:18, 17/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
> wasm, рисующий на канве через прослойку emscripten, работает быстрее "классического" HTML + JS.
> Предъяви, сравним.
Так ты и предъявляй. Так-то я тебе тоже могу показать, как JS-гриды на канве работают существенно быстрее JS-гридов на DOM. И никакой васм для этого не понадобился.
> Нет не нужно, на стороне c++ принимаешь строку как std::wstring
А откуда этот твой std::wstring возьмется без копирования данных из JS-строки в память WASM?
| |
|
7.64, Аноним (64), 16:25, 17/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Так ты и предъявляй
Изи. Я сравнивал ffmpeg.wasm и ffmpeg.js и разрыв в скорости перекодирования одного и того же файла просто чудовищный, wasm в разы быстрее.
> откуда этот твой std::wstring возьмется без копирования
Куча у wasm общая с js, копировать не обязательно. Typed arrays те точно не копируется, с чего бы стрингам вести себя иначе, ведь в js это то же самое, что массив.
| |
|
8.69, Аноним (13), 16:39, 17/03/2023 [^] [^^] [^^^] [ответить] | +/– | Правильно, ибо это и есть тот самый единственный сценарий, где васм быстрее Пот... большой текст свёрнут, показать | |
|
9.77, Рустик (?), 20:35, 17/03/2023 [^] [^^] [^^^] [ответить] | +/– | Пока так, возможно потом оптимизируют и дадут прямой доступ к dom, на второе пла... текст свёрнут, показать | |
9.87, Аноним (87), 03:16, 18/03/2023 [^] [^^] [^^^] [ответить] | +/– | Это в каких таких _интерактивных_ приложениях тысячи раз в секунду что-то гоняет... большой текст свёрнут, показать | |
|
|
|
|
5.62, Аноним (62), 16:20, 17/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
>распаковать из UTF на стороне JS при помощи TextDecoder
Чего, JS не может напрямую работать с UTF-8?
| |
|
6.71, Аноним (13), 16:47, 17/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
V8 хранит строки в формате WTF-16. Если хочется принять буфер, в которой лежит UTF-8, то нужно перекодировать (TextDecoder). Напрямую с буфером будешь работать именно как с массивом байт, но если тебе эту строку нужно показать пользователю, то придется перегнать в WTF-16.
| |
|
|
|
3.85, Аноним (-), 01:25, 18/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
> Представляю, какой там оверхед при пересечении границы между WASM и DOM.
Поэтому рисовать куданить в канвас и IO через вебсокеты всякие. Чтобы с вебтормозилками минимально пересекаться.
| |
|
|
1.27, Аноним (27), 10:06, 17/03/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Интересная ситуация получается.
GPL используют те, кто хотят рубить бабло, типа Qt, а вот некоторые переводят код на понастоящему свободные лицензии.
| |
|
2.29, Аноним (32), 10:25, 17/03/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
Так делают когда проект закрывается. Ну будем честны проект и раньше был мало кому нужен так как есть альтернативы.
| |
|
|
4.38, Аноним (62), 12:15, 17/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
Это для разного. То, что в теме - это про Web, А HLS - это для FPGA.
| |
|
|
|
1.36, Аноним (36), 11:48, 17/03/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Сейчас как раз раздумываю над выбором инструмента для написания новой кросс платформенной игрушки. И если выбор платформ традиционный Desktop - Web(HTML5) - Android, то там где-то должен быть С++. Но я скорее склоняюсь к написанию игры на Haxe (этот язык ближе к ActionScript/TypeScript), кото рый умеет компилировать как в C++ , так и в JavaScript. И у которого уже есть графические фреймворки (OpenFL) и фреймворки для создания UI (HaxeUI), есть и разные bindings типа Raylib для Haxe. Кроме того у Haxe есть сборщик мусора и не надо напрямую работать с памятью, что облегчит создание прототипа и обеспечит быструю итерацию.
| |
|
2.81, Аноним (-), 00:46, 18/03/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> Кроме того у Haxe есть сборщик мусора и не надо напрямую работать с памятью, что позволит
Позволит фигурно по...ться в профайлере с малоустранимыми лагами этого самого GC, что в игроделе самая мякотка. И пока у плюсера все будет просто работать, вон тот будет пыхтеть в профайлере доказывая всем что не так уж оно и дергается, и вообще :)
| |
2.89, Bobr (??), 05:08, 18/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
Используй Kotlin MPP + rsocket, если нужен онлайн.
Конференций на тему использования KMPP куча, половина есть на ютюбе и даже на русском.
Скомпилить код сможешь даже нативно на тостер, не говоря о простой компиляции в js.
Даже игровой движок под это есть.
| |
|
3.94, Рустик (?), 10:44, 18/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
Б-гмеркзая проприетарь.
> Скомпилить код сможешь даже нативно на тостер
И давно на тостерах 2 ядра 2 гига игровая видеокарта?
| |
3.95, Рустик (?), 10:47, 18/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
Шмотлин в wasm пытался, но не шмог, и компилится в обычный медленный js.
| |
|
|
1.37, burjui (ok), 12:06, 17/03/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –3 +/– |
Сайты и веб-приложения на C++ — это именно то, чего нашим коллегам так не хватало. Зато теперь на любые претензии в духе "а у вас электрон" можно будет с умным лицом возразить: "Заткнись! У нас C++, поэтому мы умнее, и у нас всё эффективно."
| |
|
2.96, Аноним (32), 11:33, 18/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
Какое бы не было качество кода. Код на C++ будет быстрее и надо для производительности на нагруженных сайтах. Как на той же самой Фигме.
| |
|
1.43, Аноним (43), 13:31, 17/03/2023 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
вообще для трансляции в js есть nim, который уделывает по всем параметрам раст и по некоторым плюсы
| |
|
2.45, Аноним (32), 13:52, 17/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
Вообще то хорошие развивающиеся проекты на лицензию апач никто не переводит.
| |
|
3.55, Аноним (43), 15:11, 17/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
ох уж эти любители поспорить о лицензиях вместо того, чтобы проги писать
| |
|
4.83, Аноним (-), 01:11, 18/03/2023 [^] [^^] [^^^] [ответить]
| –2 +/– |
Бесплатно ублажать корпов - такое себе счастье. Тут им патентных прав, там прав сорц зажимать, а они взамен дырок от бублика насыпят. И все как бы честно. А, еще вы можете к ним рабом на галеру прийти, только хотя код пишете вы, командовать будут они и все как бы честно. Или таки нет?
| |
|
|
2.52, Анонимусс (?), 14:54, 17/03/2023 [^] [^^] [^^^] [ответить]
| –1 +/– |
> есть nim
Это ненужное еще шевелится?
Вообще есть много чего, что можно транслировать с js, тут фишка что можно транслировать именно с/с++ из-за накопленной огромной кодовой базы.
| |
|
3.58, burjui (ok), 15:43, 17/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
> именно с/с++ из-за накопленной огромной кодовой базы.
Это-то и пугает: в вебе уже достаточно своего мусора на не менее уродливых, но более простых ЯП, а если добавится ещё приплюснутый, то может случиться переполнение кучи. Впрочем, меня сейчас, как обычно, заминусют, потому что местные приплюснутые свято верят в то, что уж они-то говно не пишут, потому что раз для знания всего С++ нужен гигантский ум, то если пишешь на С++, автоматически являешься интеллектуальным гигантом, даже если твой IQ всего на 10 баллов выше, чем у "вебмакак". Тут же каждый второй — сын Страуструпа и Кнута.
| |
|
4.72, Анонимусс (?), 17:20, 17/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
С одной стороны - да.
А с другой стороны - за счет старости кодовой базы и ее повсеместного использования в либах могли поисправлять самые злобные баги и их может быть меньше на момент релиза, чем при написании с нуля на напр. JS. Тут уже нужно рассматривать конкретные ситуации и оценивать риски.
| |
|
|
2.100, Прохожий (??), 13:14, 18/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
По некоторым действительно уделывает. Но уж точно не по всем. Nim - язык с GB и не такой хорошей поддержкой конкурентности, как у Rust. Также программистов на Nim, пишут, гораздо меньше, чем программистов на Rust.
| |
|
1.68, Аноним (68), 16:36, 17/03/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
> Также при компиляции используется PartialExecuter, который на основе анализа параметров функций удаляет код, который гарантированно не используется при выполнении.
ААААА... Где мой код?!!!!
| |
1.88, Bobr (??), 05:04, 18/03/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +3 +/– |
Сейчас бы в 2023 смешивать js и плюсы.
Лёгкий способ превратить жизнь того, кто этот код будет поддерживать в ад.
| |
|
2.99, burjui (ok), 12:39, 18/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
Минус на минус даёт плюс, а минусминус на минусминус — плюсплюс.
| |
|
|
2.104, nobody (??), 21:28, 22/03/2023 [^] [^^] [^^^] [ответить]
| +/– |
А во что переводить, если нужно приложение для браузера? В ActiveX?
| |
|
1.105, Аноним (105), 09:31, 23/03/2023 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
я чистый плюсовик, я не знаю эти ваши жээсы и хтмл. Мне проще функционал описать внутри консольного экзешника и сделать обращение к порту программы.
Как мне прикрутить веб-морду чтобы пользователь тык-тык и доволен?
Куда копать? Есть примеры?
| |
|