|
2.4, воробушек (?), 10:27, 14/01/2025 [^] [^^] [^^^] [ответить]
| –5 +/– |
на базе шланга качественного не бывает. кое-как работает и ладно - офф девиз шланга.
| |
|
|
|
5.59, Аноним (59), 16:41, 14/01/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
типа статья про std::literals::string_literals::operator""s есть и потому ошибки нет, а про std::literals::string_literals::operator""x нету и потому ошибка есть? Ты это сказать хотел?
И судя по набору имен, на которые не ругается (h/min/s/ms/us/ns), авторы костыля читали доку по хроно, а не про строки
| |
|
|
3.24, Аноним (24), 12:05, 14/01/2025 [^] [^^] [^^^] [ответить]
| +/– |
> на базе шланга качественного не бывает. кое-как работает и ладно - офф девиз шланга.
А как ты вообще представляешь себе качественный релиз либы весом 70 мегабайт бинарного кода? Это LLVM столько весит если что.
| |
|
2.53, Аноним (-), 15:57, 14/01/2025 [^] [^^] [^^^] [ответить]
| +/– |
Да и давно. На нем в игры можно в браузере играть. Например в Quake. Когда-то давно была демка. Зададим вопрос по другому - только сейчас о нем узнали?
| |
2.66, Аноним (66), 18:00, 14/01/2025 [^] [^^] [^^^] [ответить]
| +/– |
ну так себе
https://framagit.org/fperrad/lua.wasm
261kB wasm + 77kB js
А без использования их стандартной библиотеки и всевозможных обёрток для fileIO, просто голым шлангом получилось собрать в два раза меньший объём.
Для какого-нибудь многомегабайтного ffmpeg или quake в браузер притащить лишние 100кБ не заметно, а для совсем мелочи слишком много ненужных обёрток, чтобы стандартная библиотека в браузере прозрачно работала.
| |
|
3.82, Аноним (-), 22:17, 14/01/2025 [^] [^^] [^^^] [ответить]
| +/– |
Для современного веба, с современными скоростями это не проблема
| |
|
2.93, Вася (??), 08:05, 16/01/2025 [^] [^^] [^^^] [ответить]
| +/– |
Реально работает. Я знаю контору, у них достаточно популярная и сложная в реализации мобильная игра (десятки миллионов скачиваний), написана на С с минимум зависимостей.
| |
|
1.6, Аноним (12), 10:29, 14/01/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Почему нельзя было просто сделать джаваскрипт быстрым? Это же так просто.
| |
|
|
3.11, Аноним (12), 10:49, 14/01/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
А чего тут ждать. Если вебасмембли такой быстрый почему джаваскрипт не может быть точно таким же.
| |
|
4.21, вебмакака (?), 11:58, 14/01/2025 [^] [^^] [^^^] [ответить]
| +6 +/– |
Потому что скриптуха без типизации.
А вообще впечатляют масштабы, в которых расплодились клоуны, требующие чтобы им дали ресурсов нахаляву. Даже если это в принципе невозможно - кого интересуют такие мелочи.
| |
4.25, Аноним (24), 12:07, 14/01/2025 [^] [^^] [^^^] [ответить]
| +3 +/– |
> А чего тут ждать. Если вебасмембли такой быстрый почему джаваскрипт
> не может быть точно таким же.
Динамическая типизация видите ли идет в комплекте с нехилым оверхедом. Надо все время трекать тип и следить что он не изменился. И быть готовым ко всему.
А вон то - простой, низкоуровневый рантайм, не снабженный таким факапом. Намного более простая и потому шустрая абстракция.
| |
|
5.34, Bottle (?), 13:04, 14/01/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Причём, что забавно - строгая типизация это такая абстракция, которая позволяет компилятору генерировать быстрый код. Потому что pointer aliasing.
Очень часто находятся "умники", которые заявляют, что всякая абстракция лишь замедляет код. Отнюдь.
| |
|
6.36, вебмакака (?), 13:08, 14/01/2025 [^] [^^] [^^^] [ответить]
| –2 +/– |
Это не абстракция, обезьяныч. И никакой "pointer aliasing" тебе не поможет. Как и никакой "строгой" типизации не существует.
| |
6.51, Аноним (51), 15:25, 14/01/2025 [^] [^^] [^^^] [ответить] | +1 +/– | Это некий набор правил и или гарантий когда компилер при генерации кода явно зна... большой текст свёрнут, показать | |
|
7.70, Bottle (?), 18:45, 14/01/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Понимаешь ли, процессор не увидит разниц между указателями на int_32_t и строковым типом такой же длины, а вот компилятор, который в одном методе видит разные типы, как раз воспользуется данным преимуществом.
| |
|
8.73, Аноним (-), 19:51, 14/01/2025 [^] [^^] [^^^] [ответить] | +1 +/– | Как вы поняли - дереференс указателей вообще не самый быстрый способ работы Быс... большой текст свёрнут, показать | |
|
|
|
|
4.28, Аноним324 (ok), 12:28, 14/01/2025 [^] [^^] [^^^] [ответить]
| +2 +/– |
он может быть таким же, но никто не платит чтобы с этим заморачиваться. Будут платить за джаваскрипт 15 тысяч зелени в месяц, будут делать быстрее, а пока платят нищие 4000 пусть в баню идут, за такие копейки, ещё над чем-то думать.
| |
|
|
2.15, myster (ok), 11:41, 14/01/2025 [^] [^^] [^^^] [ответить]
| –3 +/– |
В старом движке Opera Presto (2012 года) он был быстрый, но проект свернули.
Любая математическая операция (синтетический тест) в JavaScript консоли старой Opera обгоняла в сотни раз по производительности тогдашний Chrome, а Firefox и подавно. Я не думаю что и сейчас ситуация изменилась, если протестировать.
| |
|
3.18, вебмакака (?), 11:51, 14/01/2025 [^] [^^] [^^^] [ответить]
| +5 +/– |
> В старом движке Opera Presto (2012 года) он был быстрый, но проект свернули.
В твоих фантазиях.
> обгоняла в сотни раз по производительности
В тысячи раз. Правда в фантазиях.
| |
|
4.29, myster (ok), 12:33, 14/01/2025 [^] [^^] [^^^] [ответить]
| –3 +/– |
проверь умник, она же доступна для загрузки ещё, если нужно подсказать, что вводить в консоли - пиши, помогу, но по сути любая вычислительная операция с циклами, с массивами.
Кстати, в долгих операциях и "в тысячи раз" превышать будет, т.к. там разница в производительности увеличивается по нарастающей.
| |
|
5.79, Аноним (79), 21:13, 14/01/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Даже если они могли что-то стоищее создать, но они опустились до вранья своим пользователям, а потом вообще продали браузер.
А адекватные разработчики ушли в Vivaldi
| |
|
|
|
2.20, Аноним (20), 11:57, 14/01/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Быстрым, наверное, можно сделать не JS, а TS. И то, если его компилять сразу в машинные коды. Ага, прямо из браузера компилер вызывать, а то как же кроссплатформенность.
| |
|
|
4.38, Аноним (20), 13:34, 14/01/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
Я сказал в машинные коды - _инструкции_CPU_, а не какой-то там языковой виртуальной машины. Мы же хотим, чтобы быстро. Да и нет необходимости языку со статической типизацией в этих JIT.
| |
|
5.46, Аноним (46), 14:33, 14/01/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
>> Это называется JIT и давным-давно используется в браузерах
> Я сказал в машинные коды - _инструкции_CPU_
Чел, JIT *буквально* транслирует в машинные коды 🤦
| |
5.47, Анонем (?), 14:39, 14/01/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Я сказал в машинные коды - _инструкции_CPU_, а не какой-то там языковой
> виртуальной машины. Мы же хотим, чтобы быстро. Да и нет необходимости
> языку со статической типизацией в этих JIT.
* Just-In-Time (JIT) компиляция в Java — это механизм, который позволяет ускорить интерпретацию байт-кода виртуальной машиной. 1
Простыми словами, механизм JIT компиляции заключается в следующем: если в программе присутствуют части кода, которые выполняются много раз, то их можно скомпилировать один раз в машинный код, чтобы в будущем ускорить их выполнение.
* Java — это статически типизированный язык.
(с) Яндекс Нейро
| |
|
|
|
2.55, Аноним (-), 16:03, 14/01/2025 [^] [^^] [^^^] [ответить]
| –1 +/– |
А ты замерь насколько он быстрый. Не знаю как проверяют бенчмарки, но мои замеры показывали производительность почти такую же как и на С. Конечно ты можешь вспомнить что-то про многопоточность, но я тоже могу вспомнить про воркеры. Конечно всё-равно это не многопоточность и тем не менее.
| |
|
1.16, anonymouse (?), 11:43, 14/01/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Есть тулкит на wasm для экспериментов с фильтрами ffmpeg в браузере. Если не перебарщивать со сложностью, wasm вполне полезная технология.
| |
1.60, htmldevelob (?), 16:42, 14/01/2025 [ответить] [﹢﹢﹢] [ · · · ]
| –1 +/– |
Вопрос глупый но всё же, зачем нужен этот ваш wasm? не проще былоб в браузеры встроить qemu\kvm
| |
|
2.67, Аноним (67), 18:08, 14/01/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
Ну целую операционную систему с сервера грузить это наверное уже слишком. Но создать ABI для запуска блобов с доступом лишь к тому, что разрешили, можно. В хроме оно даже и было, но разрабы лисы надули щеки и сказали, что не будут запускать блобы и предложили asm.js. Но в конечном итоге пришли к wasm, но как бы лишь для реализации быстрых алгоритмов.
| |
|
3.68, Аноним (68), 18:16, 14/01/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Ну целую операционную систему с сервера грузить это наверное уже слишком.
Вообще можете загуглить jslinux. Если дело делает профессионал как Фабрис - то и линух загрузить в браузере - не так уж ужасно как может показаться.
| |
|
2.72, Аноним (72), 18:55, 14/01/2025 [^] [^^] [^^^] [ответить]
| +1 +/– |
чтобы в нём заустить линукс в котором запустить браузер в котором запустить qemu-kvm .....
| |
2.85, Аноним (85), 00:46, 15/01/2025 [^] [^^] [^^^] [ответить]
| +/– |
Чтобы зум и куча других вредоносных сайтов запустились, а не предложили просто проваливать. Компиляция в код, близкий к нативному, сильно осложняет реверс-инжиниринг. Это обфускация с виртуальной машиной: совмещает недостатки и нативного кода, и скриптов. Для кого-то это является достоинством.
| |
|
3.91, Аноним (-), 16:21, 15/01/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Компиляция в код, близкий к нативному, сильно осложняет реверс-инжиниринг.
Не сильно. Просто для ревёрс-инжиниринга бинарного кода тебе нужны другие инструменты. Обфусцированный js ты будешь разбирать одними тулзами, бинарный wasm код ты будешь разбирать другими. А по-сути одно и то же.
| |
|
2.90, Аноним (-), 16:19, 15/01/2025 [^] [^^] [^^^] [ответить] | +/– | Не проще Софтварная виртуализация позволяет гораздо более гранулярно ограничива... большой текст свёрнут, показать | |
|
1.76, maxis11 (ok), 20:15, 14/01/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
А кто-нибудь начал конвертор пилить из Vulkan в Web GPU для EMS (или пока все только мечты)?
| |
|
|
3.94, maxis11 (ok), 14:13, 17/01/2025 [^] [^^] [^^^] [ответить]
| +/– |
> Эти планы, запланированы они или нет можно вычитывать вот тут: https://www.khronos.org/
1. WebGPU не является частью Khronos, иди учи матчасть;
2. С транслятором GL ES -> WebGL или же тот же ANGLE как-то без помощи хроносовцев обошлись;
3. А они бы что сделали, написали стандарт на трансляцию команд?
| |
|
|
1.86, chdlb (?), 02:53, 15/01/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
искал либу для xxhash64 под WASM, нашел, автор перешел с Emscripten на шланг
я не знаю точной причины, может кто и расскажет нам
| |
|
2.88, Аноним (66), 12:16, 15/01/2025 [^] [^^] [^^^] [ответить]
| +/– |
потому что, чтобы обернуть стандартную библиотеку, чтобы она абсолютно прозрачно работала в wasm там столько костылей, что что-то небольшое проще голым шлангом собрать с nostdlib подставив свои простенькие костылики где надо.
| |
|
1.89, Аноним (89), 14:51, 15/01/2025 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Жаль что готовых сборок компилятора на github не выкладывают. Предлагают какие-то скрипты запускать для скачивания и инсталяции - это не удобно.
| |
|