![]() |
Пред. тема | След. тема | ||
Форум Разговоры, обсуждение новостей | |||
---|---|---|---|
Изначальное сообщение | [ Отслеживать ] |
"Доступен 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 Добавить, Поддержать, Вебмастеру |