[10:31:12] <ada_ru> (Лекс) Опубликованы тесты затрат на выполнение простейших приложений на различных языках программирования https://opennet.ru/51992/
[12:44:55] <ada_ru> (Oleg) Молодец мужиг , только я не пойму , его контора только и занимается что делает одну библиотеку?
Жёванный крот, почему я делаю 100500 всяких библиотек, Варю оптику, строю сети, ремонтирую коммутаторы и иногда лодочную электронику и все равно живу как мудак
[12:45:24] <ada_ru> (I_vlxy_I) Странный бенчмарк
[12:45:47] <ada_ru> (I_vlxy_I) То есть прикольно, но не ясно куда это применить
[12:46:11] <ada_ru> (Oleg) Все парни , решено . Я решил сменить место жительства , можете у кого есть идеи ? Если что я не еврей :-) то есть Израиль отпадает :-)
[12:46:41] <ada_ru> (Oleg) Попробую наверное с циско что нибудь
[12:46:52] <ada_ru> (Oleg) Решил начать жизнь сначала
[12:47:20] <ada_ru> (I_vlxy_I) Вали в Европу, если можешь :-)
[12:47:56] <ada_ru> (Oleg) В Чехию хотел или в Черногорию но туда только со своим бизнесом
[12:48:24] <ada_ru> (Oleg) А ну хотя в Польшу - в сапорт циски еще можно
[12:48:26] <ada_ru> (Oleg) :-)
[12:48:58] <ada_ru> (Oleg) Воющем может у кого мысли будут , что в Чехии можно намутить
[12:49:48] <ada_ru> (Oleg) А бенчмарк нормальный - даёт нам понять что мы все говно а не программисты :-)
[12:49:56] <ada_ru> (Oleg) А он д’Артаньян
[12:50:15] <ada_ru> (Oleg) И я даже наверное скорее согласен
[12:54:07] <ada_ru> (Oleg) 20 лет назад писал под ATMega8 софт на ассемблере, с кучей всего и все работало
[13:30:35] <ada_ru> (Лекс) отвечает (I_vlxy_I) на <То есть прикольно, н…>
Думаю автора просто надоскучил вопрос, зачем нужен ассемблер в эпоху терабайт озу и десяток голов цпу.
И он наглядно показал, что ассемблер (а кто собственно сомневался? 😂) быстрее чем компилируемые языки и имеет меньше "мусора".
Хотя на мой взгляд демонстрация так себе, поскольку может вызвать больше негатива в сторону автора из-за тривиальности примеров.
Мне вот вспомнился япошка Гото, который писал машинные коды в ручную для HPC и это были самые производительные решения.
Или вот ещё была крутая реализация линейной алгебры Atlas — она вообще в процессе компиляции оптимизировалась под архитектуру на уровне маш кода (не флагом gcc), вот такой пример более убедителен.
Конечно вопрос везде ли нужна такая скорость и перфоманс, и ответ как бы очевиден :)
[13:36:05] <ada_ru> (Oleg) Ну машинные коды от ассемблера не сильно то отличаются , кто застал времена БК001 тот думаю с ними работал тоже
[14:39:29] <ada_ru> (Лекс) ну ассемблер это по сути синонимы для машинного кода, более читаемые) https://github.com/certik/bcompiler/blob/master/hex1.he
Фишка япошки в том, что он находил наиболее оптимальные варианты реализации для конкретных железяк
[15:58:38] <ada_ru> (I_vlxy_I) отвечает (Лекс) на <Думаю автора просто …>
Асм компилируемый
[15:59:06] <ada_ru> (Лекс) скорее ассемблируемый) хотя конечно зависит от реализации
[16:01:01] <ada_ru> (Лекс) Только современные цпу внутри содержат "свою ОСь", которая эти самые маш коды потом вертит как хочет... и нередко может испортить всю ручную оптимизацию
[16:02:04] <ada_ru> (I_vlxy_I) Плохая оптимизация значит
[16:03:48] <ada_ru> (I_vlxy_I) А как для асме банальный code coverage посчитать?
[16:05:21] <ada_ru> (I_vlxy_I) А рантайм проверки включить? Аля санитайзеры
[16:06:34] <ada_ru> (Oleg) Под современный x86 писать на асме могут конечно только отчаянные люди, а вот под embedded можно кое что
[16:06:41] <ada_ru> (Oleg) Например ОС
[16:07:38] <ada_ru> (Oleg) FreeRTOS там же кусок на асеммблере, иначе я вообще не понимаю как можно сделать переключение контекста
[16:08:17] <ada_ru> (Лекс) Делают же как-то на Аде 😃
[16:09:15] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <Например ОС>
Неизвестное качество будет
[16:09:23] <ada_ru> (I_vlxy_I) Это сразу легаси
[16:10:41] <ada_ru> (Oleg) Ну а как на c сделать переключение контекста? Go to ?
[16:12:42] <ada_ru> (Oleg) Короче на асме все понятней и прозрачней
[16:13:04] <ada_ru> (Oleg) На c надежней но невозможно :-)
[16:13:16] <ada_ru> (Oleg) Для некоторых платформ
[16:15:12] <ada_ru> (Лекс) отвечает (I_vlxy_I) на <Неизвестное качество…>
Ой да ладно, пруфы?
[16:15:39] <ada_ru> (Лекс) тут кругом дырявые оси неизвестного качества, так что давайте не будем
[16:15:49] <ada_ru> (I_vlxy_I) отвечает (Лекс) на <Ой да ладно, пруфы?>
Как ты его замеряешь чтобы понять какое оно?
[16:16:19] <ada_ru> (I_vlxy_I) Качество будет именно неизвестное
[16:17:20] <ada_ru> (I_vlxy_I) То есть будет сразу легаси
[16:20:53] <ada_ru> (Лекс) Причём здесь вообще легаси (совместимость с устаревшим)?
[16:21:35] <ada_ru> (I_vlxy_I) Это будет сразу устаревший код
[16:22:04] <ada_ru> (I_vlxy_I) Сейчас требования к коду уже другие
[17:36:48] <ada_ru> (a) Кто вим пользуется,?
[17:38:34] <ada_ru> (I_vlxy_I) Я. На ламерском уровне. Не для Ады в основном
[17:39:08] <ada_ru> (a) Вопрос розыск best of the best плагинов с лучшей разметкой для посветки синтаксиса для ады? Вопрос с канала вим
[17:39:32] <ada_ru> (a) Вы же пилили als?
[17:40:21] <ada_ru> (a) Или есть другие варианты?
[17:41:59] <ada_ru> (I_vlxy_I) als не про подсветку
[17:42:21] <ada_ru> (I_vlxy_I) Он про всякий автокомплит/навигацию
[17:43:01] <ada_ru> (I_vlxy_I) Для подсветки в vscode юзается отдельные от als правила и поставляются вместе с плагином для als
[17:43:31] <ada_ru> (I_vlxy_I) Подсветка это в основном через регулярки
[17:44:03] <ada_ru> (I_vlxy_I) als - полноценный парсер и семантика вроде как.
[17:44:16] <ada_ru> (I_vlxy_I) Это плохо для подсветки
[17:50:17] <ada_ru> (a) Ок
[17:55:17] <ada_ru> (I_vlxy_I) Вроде для вима для Ады что-то есть достойное. Довольно старое и стабильное. Но я не знаю что :-)
Может Максим знает
[18:00:19] <ada_ru> (Максим) als с Neovim запускается нормально. кто-то из наших пробовал. Даже написали как интегрировать
[18:01:00] <ada_ru> (Максим) Я видел как Вадим использует vim, но конкретнее не знаю
[18:34:15] <ada_ru> (a) https://github.com/thindil/vim-ada
[18:35:13] <ada_ru> (a) https://github.com/thindil/vim-ada первое что гуглится
[19:32:14] <ada_ru> (Лекс) отвечает (I_vlxy_I) на <А как для асма банал…>
На мейнфрейме ибм, https://developer.ibm.com/mainframe/2019/11/22/code-coverage-for-assembler-applications-using-ibm-developer-for-zos-14-2/
[19:33:41] <ada_ru> (I_vlxy_I) Кавередж действительно можно через интерпретацию например.
Но что делать с санитайзерами например?
[19:33:55] <ada_ru> (I_vlxy_I) Ну и вообще, как его инструментировать?
[19:34:50] <ada_ru> (I_vlxy_I) И как статически анализировать.
[19:48:00] <ada_ru> (Oleg) Да все можно, тем более сейчас, просто это никому не нужно, все спешат куда то. Оси на JS скоро будут писать
[20:20:32] <ada_ru> (I_vlxy_I) отвечает (Oleg) на <Да все можно, тем бо…>
Как? В асме этот слой семантики просто отсутствует.
[20:36:58] <ada_ru> (Лекс) lol
[20:37:06] <ada_ru> (Лекс) статический анализ для ассемблера
[20:39:10] <ada_ru> (Лекс) звучит немного лулзно, извините)
[20:39:31] <ada_ru> (Лекс) Вот что у нас есть
https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/coqasm.pdf by Microsoft Research (Bootstrap in verifiably-safe assembly in prover checked by tiny, verified checker)
[20:40:33] <ada_ru> (Лекс) Наш любимый и мёртвенький TALC, https://www.cs.cornell.edu/talc/ y Cornell (Typed, assembly language to verify safety w/out compiler; checker can be simple; C subset + verified compiler to TALC)
[20:41:55] <ada_ru> (Лекс) отвечает (Oleg) на <Да все можно, тем бо…>
так что да, было бы желание и необходимость.
Ассемблер сейчас так то используется исключительно как вставки либо в хакинге
[20:43:32] <ada_ru> (Максим) Ламповый OpenWRT не умеет ucontext.h т.к. там musl 😕 Пришлось переписать переключение корутин на ассемблере! Пробадался целый день для x86_64. Завтра буду терзать ARM
[21:41:47] <ada_ru> (Максим) За то теперь должна работать guard page на переполнение стека, наверное 😄
[22:13:34] <ada_ru> (I_vlxy_I) отвечает (Максим) на <За то теперь должна …>
Обмажь юниттестами :-)
[22:32:24] <ada_ru> (I_vlxy_I) а лучше фаззинг какой вкрутить