[01:40:43] <ada_ru> (mister_alexander) @I_vlxy_I
У меня есть
std::vector<string> = {"1", "2", "3"};

Как его можно "красиво" скопировать в
std::set<unsigned> ?
[01:41:03] <ada_ru> (I_vlxy_I) я бы не парился и просто форычем сделал
[01:41:26] <ada_ru> (I_vlxy_I) который for (auto s : strs) set...;
[01:42:09] <ada_ru> (mister_alexander) Форычем я уже сделал )
[01:42:18] <ada_ru> (t91x0)  отвечает (I_vlxy_I) на <я бы не парился и пр…>
Хотите пообщаться с гением от C++?
[02:03:30] <ada_ru> (avkvlru) ?
[02:04:15] <ada_ru> (t91x0)  отвечает (avkvlru) на <?>
Чат https://t.me/proriv_zaparti
Юзер @tsar_blog, тот самый Царь с ЛОРа.

Из чата Идриса его уже выгнали.
[02:21:38] <ada_ru> (I_vlxy_I)  отвечает (mister_alexander) на <Форычем я уже сделал…>
ну дык и правильно
[02:21:54] <ada_ru> (I_vlxy_I) возможно стоит еще их не = сделать, а std::move
[02:22:07] <ada_ru> (I_vlxy_I) если тебе вектор потом больше не нужен
[02:22:12] <ada_ru> (I_vlxy_I) точнее его содержимое
[02:23:21] <ada_ru> (I_vlxy_I) но если скорость не критична, то можно забить
[02:58:27] <ada_ru> (avkvlru) Так, кто там просил тесты?
[02:58:41] <ada_ru> (I_vlxy_I) все!
[02:59:11] <ada_ru> (I_vlxy_I) я тут затеял "винду переустановить" яблочную на маке. может по итогам удастся выкроить место для ады тоже
[02:59:54] <ada_ru> (avkvlru) через 5 мин будут
[02:59:57] <ada_ru> (avkvlru) я уже дома)
[03:04:20] <ada_ru> (avkvlru) Напоминаю,я  сравнил заполнение файла в директ-ио посимвольно и блоками по 1000 символов. Делайте ставки, во сколько раз посимвольно будет медленнее))))
[03:05:23] <ada_ru> (I_vlxy_I) думаю что-то около 1000 раз и будет разница
[03:05:37] <ada_ru> (avkvlru) ну не так всё плохо)
[03:05:46] <ada_ru> (I_vlxy_I) с учетом того, что сишное IO оно буферизировано примерно на 1024 байта
[03:05:48] <ada_ru> (I_vlxy_I) плюс-минус
[03:06:59] <ada_ru> (I_vlxy_I) а DirectIO, скорее всего, не буферизирован вовсе, ибо оно ж Direct
[03:08:51] <ada_ru> (avkvlru) А почему вдруг он не буфферизован?
[03:09:16] <ada_ru> (avkvlru) Ch_Time: 77
K_Time: 1
[03:09:55] <ada_ru> (avkvlru) with TExt_IO,Calendar,Direct_IO;
use Text_IO,Calendar;
procedure testcons is

CH:Character:='x';
subtype tStrK is  string(1..1000);
subtype tStrM is string(1..1_000_000);

 package CH_IO is new Direct_IO(Character); use CH_IO;
 package K_IO is new Direct_IO(tStrK);
 -- package M_IO is new Direct_IO(tStrM);

FC:CH_IO.File_Type;
FK:K_IO.File_Type;
-- FM:M_IO.File_Type;

t1,t2:Time;
Dd1:Duration;
Dd2:Integer;
DDI:Integer:=86400;

sK:tStrK:=(others=>'x');
-- sM:tStrM:=(others=>'x');
begin
 CH_IO.Create(FC,InOut_File,"tmp.dat");
 t1:=clock;
 for i in 1.. 10_000_000 loop
   CH_IO.Write(FC,Ch,CH_IO.Count(i));
 end loop;
 for i in 1.. 10_000_000 loop
   CH_IO.Read(FC,Ch,CH_IO.Count(i));
 end loop;

 CH_IO.Close(FC);
 t2:=clock;
 put_line("Ch_Time:"&Integer'Image(Natural(t2-t1)));


 K_IO.Create(FK,K_IO.InOut_File,"tmp2.dat");
 t1:=clock;
 for i in 1.. 10_000 loop
   K_IO.Write(FK,SK,K_IO.Count(i));
 end loop;
 for i in 1.. 10_000 loop
   K_IO.Read(FK,SK,K_IO.Count(i));
 end loop;

 K_IO.Close(FK);
 t2:=clock;
 put_line("K_Time:"&Integer'Image(Natural(t2-t1)));


end;
[03:10:07] <ada_ru> (I_vlxy_I)  отвечает (avkvlru) на <А почему вдруг он не…>
потому, что Direct? я бы глянул на системные вызовы которые он при записи или чтении формирует
[03:10:30] <ada_ru> (I_vlxy_I) через stace под линухом
[03:10:53] <ada_ru> (avkvlru) Ну я  лазил в исходники.  там 4 уровня пакетов сверху, все очень своеобразные... с кучей накладных расходов.
[03:11:21] <ada_ru> (I_vlxy_I) но я бы strace глянул 🙂 ибо ядерный вызов сильно дороже всех этих пакетов может быть
[03:11:37] <ada_ru> (avkvlru) Я так не умею ;)
[03:11:43] <ada_ru> (avkvlru) Даже плохо понимаю о чём речь
[03:12:04] <ada_ru> (avkvlru) А щас seq_io ещё гляну
[03:12:15] <ada_ru> (I_vlxy_I) линух есть?
[03:12:27] <ada_ru> (I_vlxy_I) все просто:
strace ./MyCoolApplication
[03:12:35] <ada_ru> (I_vlxy_I) и смотреть на лог который будет валиться 🙂
[03:17:42] <ada_ru> (avkvlru) нет линукса нет)_
[03:18:10] <ada_ru> (avkvlru) Кстати да. в последовательной записи дела обстоят приличнее. Разница в несколько раз, не в сотни
[03:18:29] <ada_ru> (avkvlru) Похоже ты прав, и там действительно буфферизация сделана по размеру tElem
[03:18:58] <ada_ru> (avkvlru) Системная буфферизация ввода-вывода это частично демфирует, поэтому разница не в 1000 раз)
[03:20:46] <ada_ru> (avkvlru) нет зря обрадовался, просто последовательный вывод сам по себе быстрее)))
[03:21:03] <ada_ru> (I_vlxy_I) там еще ось же кеширует
[03:21:07] <ada_ru> (I_vlxy_I) дисковый кеш есть
[03:21:31] <ada_ru> (I_vlxy_I) короче, код в студию! чтобы можно было собрать и потыкать
[03:21:40] <ada_ru> (I_vlxy_I) а я - пока что спать  Ж-)
[03:21:41] <ada_ru> (avkvlru) ну да... он и смягчает разницу примерно на порядок...
[03:21:43] <ada_ru> (I_vlxy_I) но все прочитаю
[03:28:34] <ada_ru> (avkvlru) а теперь суперприз (когда проснёшься).
Угадайте во сколько раз отличается быстродействие следующего кода (формирующего одинаковый файл)

 for i in 1.. 10_000_000 loop
   CH_IO.Write(FC,Ch,CH_IO.Count(i));
 end loop;
и
 for i in 1.. 10_000_000 loop
   CH_IO.Write(FC,Ch);
 end loop;
Примерно в 69(!) раз! В первом случае мы задаём счётчик вручную, во втором он увеличивается автоматически...
[03:29:25] <ada_ru> (t91x0)  отвечает (avkvlru) на <а теперь суперприз (…>
Так что быстрее?
[03:29:36] <ada_ru> (avkvlru) Быстрее второй код.
[03:30:40] <ada_ru> (t91x0)  отвечает (avkvlru) на <Быстрее второй код.>
А вам не кажется, что в первом случае вызываются seek и write, а во втором случае просто seek?
[03:31:04] <ada_ru> (avkvlru) точнее просто врите.
[03:31:13] <ada_ru> (avkvlru) Не знаю... честно.
[03:31:38] <ada_ru> (t91x0) Таки я знаю
[03:31:48] <ada_ru> (avkvlru) Надо смотреть внутренний код.Логично предположить вызывается что-то навроде flush, seek , и write....
[03:32:04] <ada_ru> (avkvlru) одним seek такого эффекта не добьёшься думаю)
[03:32:39] <ada_ru> (t91x0) А уж если с самого начала задать размер файла и просто идти по нему - будет ещё быстрее
[03:35:13] <ada_ru> (avkvlru) Щас проверим
[03:36:22] <ada_ru> (avkvlru) нет
[03:37:20] <ada_ru> (avkvlru) for i in 1.. 1_000_000 loop
   Set_Index(FC,CH_IO.Count(i));
   CH_IO.Write(FC,Ch);
 end loop;
Кстати верхняя  конструкция работает примерно в полтора раза быстрее, чем
 for i in 1.. 1_000_000 loop
    CH_IO.Write(FC,Ch,CH_IO.Count(i));    
 end loop;
[03:38:27] <ada_ru> (avkvlru) Попытка сразу создать файл большого размера, командой CH_IO.Write(FC,Ch,10_000_000); - на быстродействие не влияет...
[03:40:59] <ada_ru> (avkvlru) Ну  и вишенка на торте
for i in 1.. CH_IO.Count(10_000_000) loop
   CH_IO.Write(FC,Ch,i);
end loop
быстрее примерно на 10%... хз как они там преобразуют типы)
[04:03:41] <ada_ru> (avkvlru) а теперь суперприз...
[04:03:43] <ada_ru> (avkvlru) а теперь суперприз (когда проснёшься).
Угадайте во сколько раз отличается быстродействие следующего кода (формирующего одинаковый файл)
[04:11:50] <ada_ru> (t91x0)  отвечает (avkvlru) на <а теперь суперприз (…>
Вы на винде тестируете?
[04:12:22] <ada_ru> (t91x0) Можете сделать чистый пример на winapi, writefile и проч? Для сравнения
[04:12:27] <ada_ru> (avkvlru) Да
[04:12:37] <ada_ru> (avkvlru) нет
[04:12:41] <ada_ru> (avkvlru) времени столько нет)
[04:14:05] <ada_ru> (avkvlru) Если Вы про код на си, формирующий такой-же файл, цифры для него вышел.
[04:14:37] <ada_ru> (avkvlru) Могу ещё сравнить с адовской c_Stream как будет время
[04:17:02] <ada_ru> (avkvlru) но это не стандартный пакет, а гнатовская доработка, в стандарте его нет
[12:21:00] <ada_ru> (Oleg)  отвечает (I_vlxy_I) на <>
Актриса нас покинула 😞(( жаль
[12:23:14] <ada_ru> (reznikmm)  отвечает (lexrwd) на <msys инсталился сами…>
Может написать авторам в чат? https://gitter.im/ada-lang/Alire Или открыть тикет на github? https://github.com/alire-project/alr
[13:48:37] <ada_ru> (lexrwd)  отвечает (reznikmm) на <Может написать автор…>
думаю забью тикет
[14:00:39] <ada_ru> (reznikmm) https://www.reddit.com/r/ada/comments/hw33kr/ptc_objectada_for_windows_version_102_outprovides/
[14:03:22] <ada_ru> (I_vlxy_I)  отвечает (reznikmm) на <https://www.reddit.c…>
Вау! +1 компилятор для 2012 ады?
[14:03:39] <ada_ru> (reznikmm) Да!
[14:04:24] <ada_ru> (I_vlxy_I) отставание от gnat конечно довольно большое по времени. но не фатальное 🙂
[14:04:48] <ada_ru> (I_vlxy_I) интересно теперь насколько они похоже интерпретируют стандарт Ады 2012 🙂
[14:07:14] <ada_ru> (Oleg) Оце воно?

https://www.ptc.com/en/products/developer-tools/objectada
[14:12:53] <ada_ru> (reznikmm)  отвечает (Oleg) на <Оце воно?

https://…>
да! прикольно, я не видел, что у них есть не-виндовс-варианты
[14:17:26] <ada_ru> (I_vlxy_I) ороро! то есть у них и линух есть ?
[14:17:31] <ada_ru> (I_vlxy_I) это уже ближе к делу!
[14:26:57] <ada_ru> (I_vlxy_I) картинка https://www.ada-ru.org/files/bot/2020-07-23-x20.jpg
[14:26:58] <ada_ru> (I_vlxy_I) хе
[14:27:13] <ada_ru> (I_vlxy_I) как одно из преимуществ PTC ObjectAda!
[14:27:17] <ada_ru> (I_vlxy_I) ключевое свойство
[14:32:59] <ada_ru> (nitrocerber) лол пойду бате покажу
[14:34:06] <ada_ru> (I_vlxy_I)  отвечает (nitrocerber) на <лол пойду бате покаж…>
https://www.ptc.com/-/media/Files/PDFs/Developer-Tools/PTC-ObjectAda-64-for-Windows-10_1_RB.pdf
[14:34:07] <ada_ru> (I_vlxy_I) вот тут
[14:48:42] <ada_ru> (I_vlxy_I) Олдовенько! https://www.ada-ru.org/files/bot/2020-07-23-x21.jpg
[14:52:51] <ada_ru> (I_vlxy_I) но я чот не понял где брать и как попробовать этот компилятор
[14:53:50] <ada_ru> (I_vlxy_I) "In case anyone is wondering, unlike FSF GNAT which is free, this is not and it's geared towards companies. However, from what I was told, if you are developing open source Ada software, you can inquire about possibly getting a copy to support your development."
[14:54:00] <ada_ru> (I_vlxy_I) там какой-то запроооос делать надо...
[14:54:11] <ada_ru> (I_vlxy_I) @reznikmm может для матрешки запросишь? 🙂
[14:54:24] <ada_ru> (I_vlxy_I) версия для винды и линуха
[15:41:43] <ada_ru> (nitrocerber) никакого тебе опенсорса
[15:49:50] <ada_ru> (geniepro)  отвечает (I_vlxy_I) на <>
Никакой подсветки синтаксиса, капс лок - прямо по заветам Вирта 😁
[15:50:07] <ada_ru> (I_vlxy_I) да!
[15:50:11] <ada_ru> (I_vlxy_I) правда отладчик есть 🙁
[16:20:17] <ada_ru> (reznikmm)  отвечает (I_vlxy_I) на <@reznikmm может для …>
Мы когда-то просили для QtAda, они обещали подумать. А может это и не они были
[17:31:06] <ada_ru> (reznikmm)  цитирует (Fabien)
Hello here, we (AdaCore) have some plan for the future of GNAT Community that we want to share and have your opinion on: https://forms.gle/Q34myTCQUXvrva5n7
[17:33:34] <ada_ru> (reznikmm) Вот, предлагают опрос
[17:33:37] <ada_ru> (reznikmm)  цитирует (Fabien)
Hello here, we (AdaCore) have some plan for the future of GNAT Community that we want to share and have your opinion on: https://forms.gle/Q34myTCQUXvrva5n7
[17:35:24] <ada_ru> (reznikmm) @sergey_dukov Возможно вам уже не придётся собирать GNAT GPL
[17:36:27] <ada_ru> (reznikmm) > We have noticed that GNAT Community's pure GPL license on the run-time is seen as a barrier to new Ada users.
Гы гы гы
[17:43:54] <ada_ru> (sergey_dukov) Что-то я ничего не понимаю в этих лицензиях! Что, GNAT GPL прикроют?
[17:46:15] <ada_ru> (t91x0)  отвечает (sergey_dukov) на <Что-то я ничего не п…>
Нет, конечно. А то он совсем никому будет не нужен.
[17:46:57] <ada_ru> (reznikmm) Они хотят прикратить выкладывать компилятор в составе GNAT Community Edition
[17:47:35] <ada_ru> (reznikmm) Вместо этого предложат использовать обычный FSF компилятор
[17:48:37] <ada_ru> (sergey_dukov) Но они будут продолжать передавать компилятор в FSF?
[17:49:06] <ada_ru> (reznikmm) Да, даже вроде собираются тратить больше времени на это
[17:53:07] <ada_ru> (sergey_dukov) В GCC 11.0.0 сейчас компилятор от AdaCore с его глюками. Не знаю какой версии. Наверное уже 2020.
[17:54:35] <ada_ru> (reznikmm) ну про глюки надо писать баг репорты. Я не вижу тут большой разницы, будут глюки в GNAT CE или GNAT FSF, всё равно, кроме АдаКоры их чинить не кому.
[17:54:48] <ada_ru> (sergey_dukov) Раньше FSF изменяла интерфейс с СИ. Теперь он от AdaCore.
[17:59:40] <ada_ru> (I_vlxy_I)  отвечает (reznikmm) на <> We have noticed th…>
О! Индеец Зоркий Глаз, ты ли это?!
[18:00:19] <ada_ru> (I_vlxy_I) Я всеми руками за
[18:00:48] <ada_ru> (reznikmm) Так вперед проходить опросник. Там есть аткой вопрос 😊
[18:02:22] <ada_ru> (reznikmm) Не нужно будет таскать монструозный инсталятор с кучей лишник бинарных в трех вариантах сборки библиотек, несколько питонов. Библиотеки будут в алире
[18:03:14] <ada_ru> (I_vlxy_I) А gps?
[18:03:37] <ada_ru> (reznikmm) Ну ЖПС будет, как и раньше. и Спарк
[18:03:48] <ada_ru> (sergey_dukov) Раньше FSF GCC собирался для MINGW без сучка и задоринки. Теперь нужно принимать те же меры, что и при сборке компилятора GNAT GPL. AdaCore эти хитрости никогда не публиковала.
[18:04:29] <ada_ru> (reznikmm)  отвечает (sergey_dukov) на <Раньше FSF GCC собир…>
В Msys2 есть готовые скрипты
[18:05:04] <ada_ru> (reznikmm) windows это постоянная боль, я согласен
[18:06:43] <ada_ru> (I_vlxy_I) Perpetual pain and suffer!
[18:12:39] <ada_ru> (sergey_dukov) AdaCore собирала и поставляла работающий компилятор под Windows. Но без изменения Makefile.in в папке gcc/ada/gcc-interface сборка не проходит. Об AdaCore умалчивала.
[18:22:25] <ada_ru> (I_vlxy_I) Теперь Ада или туда, или сюда :-)
[18:25:06] <ada_ru> (I_vlxy_I) 💀 - если адакор начнет читерить и умышленно занижать качество GNAT FSF чтобы Pro смотрелась на фоне FSF лучше
[18:26:14] <ada_ru> (I_vlxy_I) просто потому, что качество и обычной Gnat Community где-то на грани по сравнению с тем, к чему программисты на других языках привыкли
[18:28:07] <ada_ru> (I_vlxy_I) например так читерил тот же интел контрибутя в clang/llvm
[18:29:03] <ada_ru> (I_vlxy_I) но там запас прочности был поболе и яйца не лежали в одной корзине
[18:30:55] <ada_ru> (I_vlxy_I) любое изменение которое приводило к ускорению всех процессоров, а не только Intel - считалось багом и не контрибьютилось
[18:31:13] <ada_ru> (I_vlxy_I) или это с opencl было.. не помню точно 🙂
[18:50:18] <ada_ru> (reznikmm)  отвечает (I_vlxy_I) на <💀 - если адакор начн…>
Ну не знаю, мне кажется им есть чем заняться и без этого. Но ручаться не буду
[18:50:44] <ada_ru> (I_vlxy_I) там может быть какой-нибудь фильтр. но надеюсь, что такой фигней заниматься не будут пока что
[18:52:00] <ada_ru> (I_vlxy_I) ибо привлечение новых пиплов должно быть сейчас важнее чем уменьшение вероятности того, что текущий кастомер соскочит на GNAT FSF
[20:49:48] <ada_ru> (reznikmm) Надёжность:
[20:50:03] <ada_ru> (reznikmm) Внимание, очень слухи, но достоверность высокая: Компания Гармин (и их сайт, и их производственная линия) остановила свою работу из-за вируса-криптовальщика. По сути сейчас ничего не работает, никакие данные недоступны, говорят что создатели вируса традиционно требуют много биткоинов за то, чтобы отдать сигнал на расшифровку данных и возврат бизнеса.

Чтобы вы понимали масштаб трагедии: многие гармин устройства не работают уже двое суток, очевидцы подтверждают то линия производства тоже остановлена. 2020, завязывай уже https://www.reddit.com/r/kansascity/comments/hwg8vt/garmin_hacked/
[21:25:55] <ada_ru> (I_vlxy_I) Скорее - безопасность
[21:26:12] <ada_ru> (I_vlxy_I) 👨🏻‍💻Данные 600 тысяч пользователей Avito и «Юлы» оказались в сети

Базы размещены в свободном доступе, их может скачать любой желающий.
[21:28:41] <ada_ru> (I_vlxy_I) у тебя может быть бесконечно надежная софтина, в которой вообще нет ошибок, которая работает без сбоев и работает так, как было написано в ТЗ. хоть на SPARK писанная или на идрисе каком. но при этом она может быть и бесконечно дырявая с точки зрения секьюрити
[22:22:15] <ada_ru> (Борис)  отвечает (I_vlxy_I) на <у тебя может быть бе…>
Достаточно одного сотрудника с соответствующим доступом.
[22:25:23] <ada_ru> (nitrocerber) ...обиженного низкой зарплатой и ушедшего домой с хардом)
[22:26:13] <ada_ru> (I_vlxy_I)  отвечает (nitrocerber) на <...обиженного низкой…>
Hard&Soft :-)
[22:27:00] <ada_ru> (t91x0)  отвечает (Борис) на <Достаточно одного со…>
Да ну. Смотря как хранилище сделано.