[00:00:19] <OCTAGRAM> завязка на архитектуру или что-то вроде
[00:01:07] <OCTAGRAM> не считая ручного планирования
[00:05:08] <ada_ru> (I_vlxy_I) btw: мы же не серебряную пулю ищем. инструмент под задачу таки.
[00:05:59] <OCTAGRAM> в EmScripten работает?
[00:07:17] <ada_ru> (I_vlxy_I) не интересовался. мне емскриптен пока не интересен никак
[00:07:42] <ada_ru> (I_vlxy_I) у меня серверсайд и сверхжирный экспериментальный embedded, скажем так.
[00:09:02] <OCTAGRAM> а у меня дискомфорт от того, что с сервера не могу высунуться, не вляпавшись во фрактал боли вебни
[00:09:57] <OCTAGRAM> а без фронтенда сервер-то и незачем, ну если только бложики не хостить HTML'ные
[00:10:23] <ada_ru> (I_vlxy_I) ручки. вокруг одни сплошные ручки
[00:10:28] <ada_ru> (I_vlxy_I) REST 🙂
[00:11:07] <OCTAGRAM> кто REST будет дёргать?
[00:11:12] <ada_ru> (I_vlxy_I) за эти ручки клиенты дергают например curl'ом 🙂
[00:11:50] <OCTAGRAM> а, ну если клиенты, умеющие пользоваться curl в избытке, тогда повезло
[00:11:55] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <btw: мы же не серебр…>
Ищем же
[00:12:33] <OCTAGRAM> обычно надо что-нибудь попроще, вроде кликнул и запустилось даже не скачиваясь
[00:26:04] <ada_ru> (I_vlxy_I) ну есть половина фронтендщика, да и вообще, простейший js наваять теребонькающий ручки это не биг диал
[00:26:15] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <ну есть половина фро…>
*дил
[00:26:28] <ada_ru> (I_vlxy_I) но в основном -- таки REST для автоматизации не через фронт
[00:26:35] <OCTAGRAM> пока простейший, жить можно
[00:27:04] <OCTAGRAM> а вот дальше
[00:27:20] <ada_ru> (I_vlxy_I) но я конечно не фрилансер так то. я в команде работаю. у нас есть какая никакая но специализация
[00:27:35] <ada_ru> (insert_reference_here) отвечает (Максим) на <мне кажется асинхрон…>
Кстати, там какой рантайм за промисами?
[00:27:43] <OCTAGRAM> понять, почему завис поток, проще, чем почему не сдержали обещание
[00:28:10] <ada_ru> (insert_reference_here) отвечает на <(OCTAGRAM) понять, п…>
Разве?
[00:28:18] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <Кстати, там какой ра…>
там есть все исходники. реализовано, как я понимаю, на чистой Аде 2012
[00:28:31] <OCTAGRAM> и остановить поток несколько проще, чем попросить не сдерживать обещание
[00:29:07] <ada_ru> (insert_reference_here) отвечает на <(OCTAGRAM) и останов…>
Если промисы в фоне исполняются, то да. С пассивными промисами/футурами таких проблем нет
[00:29:32] <OCTAGRAM> обещание в EcmaScript 6 — это просто контейнер, в который что-то при удачном стечении обстоятельств будет положено
[00:30:21] <OCTAGRAM> никак не связанное с кодом, который это может сделать
[00:30:35] <OCTAGRAM> я конкретно про браузер
[00:33:01] <ada_ru> (I_vlxy_I) браузер не нужен
[00:33:42] <OCTAGRAM> hh.ru утверждает обратное
[00:33:52] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <браузер не нужен>
Не могу согласиться
[00:33:54] <ada_ru> (I_vlxy_I) hh.ru не нужен
[00:34:21] <ada_ru> (insert_reference_here) s/hh.ru/Ada
[00:40:42] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <s/hh.ru/Ada>
(OCTAGRAM) Ada утверждает обратное
? 🙂
[00:41:38] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <(OCTAGRAM) Ada утвер…>
Промахнулся с реплаем
[00:41:52] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <hh.ru не нужен>
Вот сюда должно было быть
[01:18:01] <ada_ru> (I_vlxy_I) пфф. на плюсах sort вообще тривиально делается. я хз откуда у rust'версии аж 500 строк кота
[01:18:16] <ada_ru> (I_vlxy_I) (и получился чуть быстрее стандартного)
[01:18:34] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <пфф. на плюсах sort …>
pattern-defeating quick sort
[01:18:44] <ada_ru> (I_vlxy_I) чаго?
[01:18:49] <ada_ru> (I_vlxy_I) моя не понимай таких словесов
[01:19:08] <ada_ru> (insert_reference_here) Какую-нибудь сортировку сделать — легкою Сделать эффективную сортировку — гораздо сложнее
[01:19:15] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <моя не понимай таких…>
Ну загугли
[01:19:39] <ada_ru> (I_vlxy_I) а, ты про эту, новую сортировку?
[01:19:46] <ada_ru> (I_vlxy_I) дык фигли у раста оно тормозит?
[01:20:17] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <дык фигли у раста он…>
А, ты про утилиту sort?
[01:20:20] <ada_ru> (I_vlxy_I) я то вообще стандартный плюсовый std::sort юзал
[01:20:28] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <А, ты про утилиту so…>
ога
[01:20:47] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <я то вообще стандарт…>
Там стандарт вроде ничего, кроме логарифимеской сложности, не гарантирует
[01:20:53] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <ога>
Потому что код говно
[01:21:04] <ada_ru> (I_vlxy_I) кода много и он весь говно
[01:21:24] <ada_ru> (I_vlxy_I) отвечает (insert_reference_here) на <Там стандарт вроде н…>
угу. но по факту сортировка весьма неплоха - там коктейль из нескольких юзается
[01:21:40] <OCTAGRAM> кажется, кто-то раз в 10 ускорял CLI утилиты, проставляя LANG=C
[01:21:46] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <угу. но по факту сор…>
И каждый раз косвенный вызов
[01:22:02] <ada_ru> (I_vlxy_I) эмм.. инлайн же.
[01:22:23] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <эмм.. инлайн же.>
Не, не инлайн. Там же вектор функций составляется
[01:22:27] <ada_ru> (insert_reference_here) Я смотрел код
[01:22:29] <ada_ru> (I_vlxy_I) шаблоны же. алсо еще раз - плюсовый мною писанный вариант работает даже быстрее чем sort из coreutils
[01:22:37] <ada_ru> (I_vlxy_I) а, ты про раст...
[01:22:39] <OCTAGRAM> а кому-то, наоборот, надо Ё между Е и Ж, иначе поколотить разработчика
[01:22:40] <ada_ru> (I_vlxy_I) ну такое.
[01:23:11] <ada_ru> (I_vlxy_I) отвечает на <(OCTAGRAM) кажется, …>
LC_ALL=C да. естественно стандартные утилиты я тестил с этим
[01:23:13] <ada_ru> (insert_reference_here) отвечает (I_vlxy_I) на <шаблоны же. алсо еще…>
Пока не реализован полный набор фичей — ничего особо не значит
[01:23:16] <ada_ru> (I_vlxy_I) иначе вообще скучно
[01:23:58] <OCTAGRAM> ещё кто-то третий скажет спасибо, если при сортировке попутно спалится нарушение свойства линейного порядка
[01:24:24] <ada_ru> (I_vlxy_I) отвечает на <(OCTAGRAM) ещё кто-т…>
а как это для строк может стрельнуть?
[01:27:58] <OCTAGRAM> numeric sort с unicode collation (как по умолчанию в Windows XP+ Explorer, между прочим) налажать запросто можно
[02:27:30] <ada_ru> (coopht) Вы когда тут все говорите про вытеснение тредов, корутины и прочую фигню - это все имеется ввиду для baremetal?
[02:27:48] <ada_ru> (coopht) или для ОС тоже?
[02:28:05] <ada_ru> (coopht) И еще вопрос, как запускать GPS ?
gps или gps_exe ?
[02:36:06] <OCTAGRAM> только OS
[02:36:19] <OCTAGRAM> gps настраивает переменные среды
[02:37:00] <OCTAGRAM> если получится с родным Gtk+, то сойдёт и gps_exe сразу
[02:37:27] <OCTAGRAM> gps на всякий случай запускает в автономной копии
[02:38:54] <OCTAGRAM> последний раз под Линуксом это было ШГ, скин по типу Windows 95 и т.п.
[02:43:09] <ada_ru> (coopht) отвечает на <(OCTAGRAM) только OS>
Тогда можно мне пояснить, когда речь идет о поддержки тредов в языке и об их вытеснении, не вытесенении как это все ложится на ОС ?
[02:43:23] <OCTAGRAM> под макосом у Apple GCC и AdaCore FSF GCC отличались ABI, конкретно gvariant был разного размера, пришлось терпеть Windows 95
[02:43:36] <ada_ru> (coopht) Или подразумевается что все эти треды будут исполняться в некой вирутальной машине?
[02:43:51] <OCTAGRAM> OS типа много памяти виртуальной выделяет
[02:44:03] <OCTAGRAM> да, планировщик
[02:44:17] <ada_ru> (coopht) отвечает (I_vlxy_I) на <снять задачу извне. …>
В линуксе это же легко делается и никто ядру не может запрятить килять кого угодно
[02:44:29] <OCTAGRAM> вот мне для веба надо, и WebWorkers пока что ни разу не вариант
[02:44:46] <ada_ru> (coopht) отвечает на <(OCTAGRAM) OS типа м…>
Причем тут виртуальная память и вирутльная машина
[02:44:49] <ada_ru> (coopht) ?
[02:45:01] <OCTAGRAM> ну и сколько их может быть? по 2000000 на каждое соединение потянет?
[02:45:15] <OCTAGRAM> по 1 на каждое
[02:45:21] <ada_ru> (coopht) отвечает на <(OCTAGRAM) ну и скол…>
что?
[02:45:59] <OCTAGRAM> сколько там обычно стека надо на поток? мегабайта 4? умножить на 2 миллиона потоков
[02:46:56] <ada_ru> (coopht) Сколько нужно, столько себе можно и выделить стека
[02:47:38] <OCTAGRAM> то есть, выделить 8Тб виртуальной памяти
[02:47:39] <ada_ru> (coopht) Причем тут стеки и потоки вообще.
У меня вопрос про потоки кто их создает и в каком контексте они выполняются и кто запретит ОС вытеснять потоки ?
[02:48:20] <OCTAGRAM> при том, что легковесные потоки делаются, когда обычные не влезают в ограничения ОС
[02:48:41] <OCTAGRAM> соответственно, ОС не может думать, что это потоки
[02:49:12] <OCTAGRAM> соответственно, какой-то другой движок должен приводить это в движение
[02:49:57] <ada_ru> (coopht) т.е. ОС будет видеть один процесс внутри которого крутятся эти легковесные потоки
[02:50:20] <OCTAGRAM> да, или столько же, сколько ядер, с affinity
[02:50:23] <ada_ru> (coopht) и ОС будет вытеснять все сразу или прибивать все сразу по необходимости
[02:50:37] <ada_ru> (coopht) ясно
[02:50:55] <ada_ru> (coopht) нечто похожее на вирт. машину в юзерспейсе
[02:51:19] <OCTAGRAM> в CPC обычно крутится один, но можно сделать detach в выделенный поток
[02:51:57] <OCTAGRAM> мне кажется, один от того, что M:N планировщик тяжело делать
[02:52:33] <ada_ru> (coopht) СPC это Continuation Passing C ?
[02:52:39] <OCTAGRAM> да
[02:52:51] <OCTAGRAM> в ParaSail была виртуальная машина, а сейчас LLVM добавился
[02:53:19] <OCTAGRAM> машинные коды настоящие, потоки — нет
[12:57:56] <ada_ru> (Oleg) Короче легковесные без стека потоки, в самом примитивном виде это например protothread
[12:59:32] <ada_ru> (Oleg) И их можно реализовать на любом языке самому , было бы желание - но его обычно нет :-)
[13:31:40] <OCTAGRAM> вроде не добавляли protected потому что думали, что task будет компилироваться и делать всё то же
[21:19:33] <ada_ru> (I_vlxy_I) А вот авионика наших истрибителей написана на Си.
[21:20:13] <ada_ru> (coopht) Истребители не нужны
[21:20:59] <ada_ru> (I_vlxy_I) и никакой Ады 😊
[21:21:16] <ada_ru> (I_vlxy_I) или, не дай БГ, Раста.
[21:22:02] <ada_ru> (nitrocerber) на перфолентах и машинных кодах она написана —-
[21:22:30] <ada_ru> (Oleg) На иврите, не?
[21:27:37] <ada_ru> (Oleg) Что там Растофилы
[21:27:52] <ada_ru> (Oleg) В авионику Раст не впихнуть никак?
[21:33:18] <ada_ru> (I_vlxy_I) кому нужна ржавая авионика?