Вариант для распечатки |
Пред. тема | След. тема | ||
| Форум Разговоры, обсуждение новостей | |||
|---|---|---|---|
| Изначальное сообщение | [ Отслеживать ] | ||
| "Доступен Emscripten 4.0, компилятор из C/C++ в WebAssembly " | +/– | |
| Сообщение от opennews (??), 14-Янв-25, 10:05 | ||
Опубликован выпуск инструментария Emscripten 4.0, позволяющего компилировать код на C/C++ и других языках, для которых имеются фронтэнды на базе LLVM, в универсальный низкоуровневый промежуточный код WebAssembly. Полученный результат можно использовать для интеграции с JavaScript-проектами, запуска в web-браузере, использования в Node.js или создания обособленных многоплатформенных приложений, запускаемых при помощи wasm runtime. Код проекта распространяется под лицензией MIT. В компиляторе используются наработки проекта LLVM, а для генерации WebAssembly и оптимизации задействована библиотека Binaryen... | ||
| Ответить | Правка | Cообщить модератору | ||
| Оглавление |
| Сообщения | [Сортировка по ответам | RSS] |
| 2. Сообщение от Аноним (2), 14-Янв-25, 10:06 | +1 +/– | |
Качественный? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #3, #4, #5, #53, #66, #93 | ||
| 3. Сообщение от нитгитлистер (?), 14-Янв-25, 10:20 | +2 +/– | |
сам не пробовал, но слышал что вполне себе норм | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #2 | ||
| 4. Сообщение от воробушек (?), 14-Янв-25, 10:27 | –5 +/– | |
на базе шланга качественного не бывает. кое-как работает и ладно - офф девиз шланга. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #2 Ответы: #8, #24 | ||
| 5. Сообщение от Аноним (12), 14-Янв-25, 10:28 | +2 +/– | |
Количественный. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #2 | ||
| 6. Сообщение от Аноним (12), 14-Янв-25, 10:29 | –1 +/– | |
Почему нельзя было просто сделать джаваскрипт быстрым? Это же так просто. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #9, #15, #20, #55, #58 | ||
| 8. Сообщение от воробушек (?), 14-Янв-25, 10:40 | +/– | |
https://godbolt.org/z/rofYEcYqr - пример подхода в шланге. дело здесь даже не в Werror по дефолту. они просто захардкодили "s" как особый случай. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #4 Ответы: #12, #44 | ||
| 9. Сообщение от НяшМяш (ok), 14-Янв-25, 10:44 | +5 +/– | |
Ждём пулл реквест в V8 и SpiderMonkey. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #6 Ответы: #11 | ||
| 10. Сообщение от ryoken (ok), 14-Янв-25, 10:45 | +1 +/– | |
>>"-sWASM_LEAGCY_EXCEPTIONS" | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 11. Сообщение от Аноним (12), 14-Янв-25, 10:49 | –2 +/– | |
А чего тут ждать. Если вебасмембли такой быстрый почему джаваскрипт не может быть точно таким же. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #9 Ответы: #21, #25, #28 | ||
| 12. Сообщение от Аноним (12), 14-Янв-25, 10:50 | –1 +/– | |
Но ведь так работает значит все правильно сделали. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #8 | ||
| 15. Сообщение от myster (ok), 14-Янв-25, 11:41 | –3 +/– | |
В старом движке Opera Presto (2012 года) он был быстрый, но проект свернули. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #6 Ответы: #18 | ||
| 16. Сообщение от anonymouse (?), 14-Янв-25, 11:43 | +/– | |
Есть тулкит на wasm для экспериментов с фильтрами ffmpeg в браузере. Если не перебарщивать со сложностью, wasm вполне полезная технология. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 18. Сообщение от вебмакака (?), 14-Янв-25, 11:51 | +5 +/– | |
> В старом движке Opera Presto (2012 года) он был быстрый, но проект свернули. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #15 Ответы: #29 | ||
| 20. Сообщение от Аноним (20), 14-Янв-25, 11:57 | –1 +/– | |
Быстрым, наверное, можно сделать не JS, а TS. И то, если его компилять сразу в машинные коды. Ага, прямо из браузера компилер вызывать, а то как же кроссплатформенность. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #6 Ответы: #27 | ||
| 21. Сообщение от вебмакака (?), 14-Янв-25, 11:58 | +6 +/– | |
Потому что скриптуха без типизации. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #11 | ||
| 24. Сообщение от Аноним (24), 14-Янв-25, 12:05 | +/– | |
> на базе шланга качественного не бывает. кое-как работает и ладно - офф девиз шланга. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #4 | ||
| 25. Сообщение от Аноним (24), 14-Янв-25, 12:07 | +3 +/– | |
> А чего тут ждать. Если вебасмембли такой быстрый почему джаваскрипт | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #11 Ответы: #34 | ||
| 27. Сообщение от Анонем (?), 14-Янв-25, 12:27 | +/– | |
Это называется JIT и давным-давно используется в браузерах. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #20 Ответы: #38 | ||
| 28. Сообщение от Аноним324 (ok), 14-Янв-25, 12:28 | +2 +/– | |
он может быть таким же, но никто не платит чтобы с этим заморачиваться. Будут платить за джаваскрипт 15 тысяч зелени в месяц, будут делать быстрее, а пока платят нищие 4000 пусть в баню идут, за такие копейки, ещё над чем-то думать. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #11 | ||
| 29. Сообщение от myster (ok), 14-Янв-25, 12:33 | –3 +/– | |
проверь умник, она же доступна для загрузки ещё, если нужно подсказать, что вводить в консоли - пиши, помогу, но по сути любая вычислительная операция с циклами, с массивами. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #18 Ответы: #79 | ||
| 34. Сообщение от Bottle (?), 14-Янв-25, 13:04 | +1 +/– | |
Причём, что забавно - строгая типизация это такая абстракция, которая позволяет компилятору генерировать быстрый код. Потому что pointer aliasing. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #25 Ответы: #36, #51 | ||
| 36. Сообщение от вебмакака (?), 14-Янв-25, 13:08 | –2 +/– | |
Это не абстракция, обезьяныч. И никакой "pointer aliasing" тебе не поможет. Как и никакой "строгой" типизации не существует. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #34 | ||
| 38. Сообщение от Аноним (20), 14-Янв-25, 13:34 | –1 +/– | |
Я сказал в машинные коды - _инструкции_CPU_, а не какой-то там языковой виртуальной машины. Мы же хотим, чтобы быстро. Да и нет необходимости языку со статической типизацией в этих JIT. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #27 Ответы: #46, #47 | ||
| 44. Сообщение от Аноним (44), 14-Янв-25, 13:51 | +/– | |
https://en.cppreference.com/w/cpp/string/basic_string/operat... | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #8 Ответы: #59 | ||
| 46. Сообщение от Аноним (46), 14-Янв-25, 14:33 | +1 +/– | |
>> Это называется JIT и давным-давно используется в браузерах | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #38 Ответы: #83 | ||
| 47. Сообщение от Анонем (?), 14-Янв-25, 14:39 | +/– | |
> Я сказал в машинные коды - _инструкции_CPU_, а не какой-то там языковой | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #38 Ответы: #48, #84 | ||
| 48. Сообщение от отец_нашей_демократии (?), 14-Янв-25, 15:03 | –1 +/– | |
из того же источника: | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #47 Ответы: #49 | ||
| 49. Сообщение от Аноним (46), 14-Янв-25, 15:10 | +/– | |
Не совсем понятно, что ты хотел сказать. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #48 | ||
| 51. Сообщение от Аноним (51), 14-Янв-25, 15:25 | +1 +/– | |
> Причём, что забавно - строгая типизация это такая абстракция, | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #34 Ответы: #70 | ||
| 53. Сообщение от Аноним (-), 14-Янв-25, 15:57 | +/– | |
Да и давно. На нем в игры можно в браузере играть. Например в Quake. Когда-то давно была демка. Зададим вопрос по другому - только сейчас о нем узнали? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #2 | ||
| 54. Сообщение от Аноним (-), 14-Янв-25, 15:59 Скрыто ботом-модератором | +/– | |
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #57 | ||
| 55. Сообщение от Аноним (-), 14-Янв-25, 16:03 | –1 +/– | |
А ты замерь насколько он быстрый. Не знаю как проверяют бенчмарки, но мои замеры показывали производительность почти такую же как и на С. Конечно ты можешь вспомнить что-то про многопоточность, но я тоже могу вспомнить про воркеры. Конечно всё-равно это не многопоточность и тем не менее. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #6 | ||
| 57. Сообщение от Аноним (57), 14-Янв-25, 16:28 | +/– | |
Нечего тут пропагандировать свои извращения. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #54 | ||
| 58. Сообщение от 12yoexpert (ok), 14-Янв-25, 16:35 | +/– | |
в qml и espruino как-то сделали | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #6 | ||
| 59. Сообщение от Аноним (59), 14-Янв-25, 16:41 | +1 +/– | |
типа статья про std::literals::string_literals::operator""s есть и потому ошибки нет, а про std::literals::string_literals::operator""x нету и потому ошибка есть? Ты это сказать хотел? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #44 | ||
| 60. Сообщение от htmldevelob (?), 14-Янв-25, 16:42 | –1 +/– | |
Вопрос глупый но всё же, зачем нужен этот ваш wasm? не проще былоб в браузеры встроить qemu\kvm | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #63, #67, #72, #85, #90 | ||
| 63. Сообщение от Аноним (66), 14-Янв-25, 17:44 | +/– | |
Google Native Client (NaCl) | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #60 | ||
| 66. Сообщение от Аноним (66), 14-Янв-25, 18:00 | +/– | |
ну так себе | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #2 Ответы: #82 | ||
| 67. Сообщение от Аноним (67), 14-Янв-25, 18:08 | +1 +/– | |
Ну целую операционную систему с сервера грузить это наверное уже слишком. Но создать ABI для запуска блобов с доступом лишь к тому, что разрешили, можно. В хроме оно даже и было, но разрабы лисы надули щеки и сказали, что не будут запускать блобы и предложили asm.js. Но в конечном итоге пришли к wasm, но как бы лишь для реализации быстрых алгоритмов. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #60 Ответы: #68 | ||
| 68. Сообщение от Аноним (68), 14-Янв-25, 18:16 | +/– | |
> Ну целую операционную систему с сервера грузить это наверное уже слишком. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #67 | ||
| 70. Сообщение от Bottle (?), 14-Янв-25, 18:45 | +1 +/– | |
Понимаешь ли, процессор не увидит разниц между указателями на int_32_t и строковым типом такой же длины, а вот компилятор, который в одном методе видит разные типы, как раз воспользуется данным преимуществом. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #51 Ответы: #73 | ||
| 72. Сообщение от Аноним (72), 14-Янв-25, 18:55 | +1 +/– | |
чтобы в нём заустить линукс в котором запустить браузер в котором запустить qemu-kvm ..... | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #60 | ||
| 73. Сообщение от Аноним (-), 14-Янв-25, 19:51 | +1 +/– | |
> Понимаешь ли, процессор не увидит разниц между указателями на int_32_t и строковым | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #70 | ||
| 76. Сообщение от maxis11 (ok), 14-Янв-25, 20:15 | +/– | |
А кто-нибудь начал конвертор пилить из Vulkan в Web GPU для EMS (или пока все только мечты)? | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #78 | ||
| 78. Сообщение от Аноним (-), 14-Янв-25, 21:09 | +/– | |
Эти планы, запланированы они или нет можно вычитывать вот тут: https://www.khronos.org/ | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #76 Ответы: #94 | ||
| 79. Сообщение от Аноним (79), 14-Янв-25, 21:13 | +1 +/– | |
Даже если они могли что-то стоищее создать, но они опустились до вранья своим пользователям, а потом вообще продали браузер. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #29 | ||
| 82. Сообщение от Аноним (-), 14-Янв-25, 22:17 | +/– | |
Для современного веба, с современными скоростями это не проблема | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #66 Ответы: #87 | ||
| 83. Сообщение от Аноним (83), 15-Янв-25, 00:20 | +/– | |
Но быстро, это когда AOT. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #46 | ||
| 84. Сообщение от Аноним (83), 15-Янв-25, 00:22 | –1 +/– | |
Да-да, знаем, слышали: "Java способна обогнать код на C++". | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #47 | ||
| 85. Сообщение от Аноним (85), 15-Янв-25, 00:46 | +/– | |
Чтобы зум и куча других вредоносных сайтов запустились, а не предложили просто проваливать. Компиляция в код, близкий к нативному, сильно осложняет реверс-инжиниринг. Это обфускация с виртуальной машиной: совмещает недостатки и нативного кода, и скриптов. Для кого-то это является достоинством. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #60 Ответы: #91 | ||
| 86. Сообщение от chdlb (?), 15-Янв-25, 02:53 | +/– | |
искал либу для xxhash64 под WASM, нашел, автор перешел с Emscripten на шланг | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Ответы: #88 | ||
| 87. Сообщение от Аноним (66), 15-Янв-25, 12:10 | +/– | |
вот поэтому современный веб и выглядит так, как он выгдядит | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #82 | ||
| 88. Сообщение от Аноним (66), 15-Янв-25, 12:16 | +/– | |
потому что, чтобы обернуть стандартную библиотеку, чтобы она абсолютно прозрачно работала в wasm там столько костылей, что что-то небольшое проще голым шлангом собрать с nostdlib подставив свои простенькие костылики где надо. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #86 | ||
| 89. Сообщение от Аноним (89), 15-Янв-25, 14:51 | +/– | |
Жаль что готовых сборок компилятора на github не выкладывают. Предлагают какие-то скрипты запускать для скачивания и инсталяции - это не удобно. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| 90. Сообщение от Аноним (-), 15-Янв-25, 16:19 | +/– | |
Не проще. Софтварная виртуализация позволяет гораздо более гранулярно ограничивать код. Мало того, что возможно (в качестве глупого примера) ограничить количество операций с памятью в секунду, доступных программе, так ведь ещё и применять эти ограничения можно очень выборочно, для тех частей кода применять, для этих не применять. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #60 | ||
| 91. Сообщение от Аноним (-), 15-Янв-25, 16:21 | +/– | |
> Компиляция в код, близкий к нативному, сильно осложняет реверс-инжиниринг. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #85 | ||
| 93. Сообщение от Вася (??), 16-Янв-25, 08:05 | +/– | |
Реально работает. Я знаю контору, у них достаточно популярная и сложная в реализации мобильная игра (десятки миллионов скачиваний), написана на С с минимум зависимостей. | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #2 | ||
| 94. Сообщение от maxis11 (ok), 17-Янв-25, 14:13 | +/– | |
> Эти планы, запланированы они или нет можно вычитывать вот тут: https://www.khronos.org/ | ||
| Ответить | Правка | Наверх | Cообщить модератору | ||
| Родитель: #78 | ||
|
Архив | Удалить |
Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема |
|
Закладки на сайте Проследить за страницей |
Created 1996-2025 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |