[04:06:16] <_valexey_> Блин. Давно на плюсах не писал, мой итератор сговорившись с stl меня победил ;-(
[04:06:33] <_valexey_> Ну ничо, завтра я нанесу ответный удар!
[04:09:24] <Kemet> цэпэпэ не нужин! юзай цэмими
[04:12:14] <_valexey_> Цемими это хто?
[04:13:31] <_valexey_> Да, то самое ощущение, когда понимаешь что за это время борьбы с итератором успел бы накарябать решение на обероне.
[04:13:54] <_valexey_> Кривое, медленное, но решение.
[04:15:09] <_valexey_> Хотя в случае ББ и А2 я бы наверно все время убил бы не на решение задачи, а на борьбу со средой разработки чтобы создать консольное приложение и автоматизировать сборку :-:
[04:15:17] <_valexey_> :-/
[04:15:27] <_valexey_> Нет в жизни счастья.
[04:17:37] <Kemet> С--
[04:21:59] <Kemet> ну надо в А2 файловые операции сделать не через команды а через обычный вызов процедур
[04:23:06] <_valexey_> Да я в а2 ваще не представляю как из юникс-шела собрать прогу :-)
[04:24:41] <Kemet> не, там всё нсть
[04:25:13] <Kemet> но надо разобраться с интеграцией
[04:26:15] <Kemet> оно спокойно принрмает параметры запуска, так что вполне можно сделать чтото ./oberon Compiler.Compile Test.Mod
[04:26:49] <_valexey_> Короче, если бы ты написал хауту как собрать и сделать сборку из линух-шела, было бы очень круто.
[04:27:03] <_valexey_> Ух!
[04:27:22] <_valexey_> Да, здорово было бы.
[04:29:06] <Kemet> Если задача проста - сделать консольную А2 и из нее чтото дергать, то проблем нет, это уже сделано и соотвествующие команды есть в Release.Tool
[04:29:53] <Kemet> если вообще избавиться от А2шного шела, то чуть сложнее, надо подумать, да
[04:31:22] <Kemet> если собирать свои изолированныве стандалоны, то надо будет свой скрипт сделать, по образу примера lkz c,jhrb rjycjkmyjq F2
[04:31:46] <_valexey_> Угу
[04:32:19] <_valexey_> Просто один раз уже сделать, чтобы тесты и проги можно было легко пускать  
[04:32:21] <Kemet> но в целом, оно не сложно, хотя печаль - пока всё 32-х битное
[04:33:00] <_valexey_> Да и код многим будет проще писать в привычной среде. В любимом текстовом редакторе.
[04:33:04] <Kemet> поэтому я не смог запустить консольную юниксаос из вин10 баш (
[04:33:28] <_valexey_> А там нельзя 32либы ставить?
[04:33:44] <_valexey_> На обычную то убунту можно
[04:33:59] <Kemet> да хз, там же бубунта, а я ее никогда не ставил и не знаю, как там устанавливать
[04:34:27] <Kemet> ты мне команду напиши я перегружусь и попробую
[04:36:28] <_valexey_> http://askubuntu.com/questions/454253/how-to-run-32-bit-app-in-ubuntu-64-bit
[04:36:56] <_valexey_> Я с телефона, что то внятнее пока не скажу
[04:37:39] <Kemet> аа, ну вобщем в А2 норм сделано с поддержкой файловых систем, и работа с директориями есть
[04:38:21] <_valexey_> Да, верю. Оно вообще весьма вменяемое.
[04:38:59] <Kemet> причем есть даже такая чудофича -- (* pastes the fileClipboard into the file with the given name if it doesn't exist already *)
[04:39:19] <_valexey_> Там и компилятор может небось плейнтекстовые исходники хавать :-)
[04:39:38] <Kemet> дык в А2 счас все плаитекст
[04:39:40] <_valexey_> Хы
[04:39:56] <_valexey_> Это круто :-)
[04:40:20] <Kemet> но оно может и бинарный через полсистему Text -  все форматы что реализованы для подсистемы
[04:40:57] <_valexey_> Угу. И это тоже круто :-)
[04:41:39] <Kemet> просто юзеры задолбали в своё время и по умолчанию сделали плейнтекст, хотя сначала поывозмущались
[04:41:54] <_valexey_> Я таки наверно прогоню тесты и на 32битной машине.
[04:42:57] <Kemet> ну от текущего состояния компайлера в А2 не стоит ожидать чудес производительности - там много мусора в стиле SSA но оптимиизатора нема
[04:43:30] <Kemet> нку то есть оно должно норм оптимизироваться, но нету
[04:44:17] <_valexey_> Ну вот и посмотрим насколько все плохо. Тем более, что задача то местами упирается в disk io а не в cpu
[04:45:32] <Kemet> ну я пас, у меня счас на такое времени нет, а задача за полчаса не решается
[04:47:01] <Kemet> но, в А2 vj;yj bcgjkmpjdfnm ConcurrentQuickSort
[04:47:14] <Kemet> *можно использовать
[04:47:19] <_valexey_> Ну, если меня обучить компилять в консольку, то я накарябпю решение какое-то
[04:47:45] <_valexey_> А потом придут люди, скажут что я говно, и поправят/перепишут
[04:47:56] <Kemet> ну я хотел подумать на тему и предполагал использовать отображение файлов в память
[04:48:06] <_valexey_> Критиковать существующее и править его всегда проще ;-)
[04:48:42] <_valexey_> Да, дело хорошее, но в 32бита может не поместиться.
[04:49:08] <_valexey_> Видимо как-то несколько раз кусками отображать...
[04:49:51] <Kemet> ну так в А2  ФС 32-х битная, я бы даже сказад 31, так что файло больше 2гб не обработаещь
[04:50:18] <_valexey_> Даже в линух-а2?
[04:50:28] <Kemet> дык при отображении оно же в память не помещается, там просто небольшой кусок, через который мапистся
[04:50:49] <_valexey_> Адресного пространства не хватит
[04:51:01] <_valexey_> Если файло скажем 10 гиг
[04:51:30] <Kemet> да, везде, в принципе, это можно поправить, но опять время поратится, поэтому подумав и оценив фронт работ для получения вменяемого результата, я забил
[04:52:19] <Kemet> адресное пространство для отбражения файлов в память не нужно, оно вообще через страницу в 4 кб делается
[04:52:37] <_valexey_> Ну можно конечно сделать ряд спец. Тестов с мелкими файлами - гиг-два.
[04:52:46] <_valexey_> Чтобы хоть на них сравнить
[04:52:53] <Kemet> а доступ в линухе вроде вообще через один единственный адрес
[04:53:25] <_valexey_> Задачка исследовательская, больше ведь.
[04:54:11] <Kemet> ну она интересная и полезная, было бы время можно было бы кроссплатформенную реализацию маппинга сделать для А2, что пользща
[04:54:19] <_valexey_> Эмм.. Относительно того как работает mmap у меня другие сведения :-)
[04:55:08] <Kemet> та ладно, я на фрипаскале в линупсе мапил 16 гиговый файл , коглда в машине было 512 метров всего
[04:55:41] <_valexey_> Я говорю про адресное пространство а не про физическую память
[04:56:37] <_valexey_> У тебя может быть 16 метров озу на 32 битной машине - файл в два гига ты легко отмаптшь, он поместится в адресное пространство
[04:56:37] <Kemet> ну деталей я не полмню ибо давно было
[04:56:48] <_valexey_> А вот 10 гиг - уже нет
[04:58:09] <_valexey_> В линухе даже sendfile, сцуко, за раз больше двух гигов не копирует!
[05:02:42] <_valexey_> В виндах этл функция CreateFileMapping вроде
[05:03:49] <_valexey_> А как в А2 делается условная компиляция? То есть чтобы в зависимости от платформы собирались нужные варианты кода..
[05:04:42] <Kemet> никак )
[05:04:53] <_valexey_> O_o
[05:04:59] <Kemet> но есть скриптовый АО, который можно для этого заюзать
[05:05:10] <Kemet> но я не пробовал
[05:05:43] <_valexey_> А, то есть системой сборки разрулить заскриптованой?
[05:05:54] <_valexey_> Вполне вариант, да.
[05:06:46] <Kemet> так то там в этом нет нужды - они делают соотвестивующие пакеты в которых всё прописано
[05:07:02] <Kemet> PACKAGE OberonGadgets ARCHIVE "OberonGadgets.zip" SOURCE "OberonGadgetsSrc.zip"  DESCRIPTION "Oberon Gadgets Framework"

Colors.Tool

NATIVE,iWIN,UNIX, UNIXG {
Oberon.Colors.Mod # Color models
Oberon.Display3.Mod Oberon.Effects.Mod
}

eWIN {
Win32.Oberon.Colors.Mod
Win32.Oberon.Display3.Mod Win32.Oberon.Effects.Mod
}..................................
[05:07:38] <Kemet> то есть указывается для каких билдов что использовать
[05:07:51] <_valexey_> Нормуль
[05:12:25] <_valexey_> Ладно, вынужден откланяться. Зайду еще попозже.
[08:46:08] <Kemet> кто знает как в этой вин10 (и видимо вин8) настроить клавиши для переключения языков  ввода
[08:47:46] <geniepro> оченно просто же )))
[08:47:54] <Kemet> ды?
[08:50:39] <Kemet> ну видимо я совсем тупой, раз не могу осилить такую элементарную штуку
[08:52:41] <geniepro> 1. щёлкаешь по индикатору языка в трее левой кнопкой мышки
2. жмёшь пункт меню Настройка языка
3. жмёшь Сопутствующие параметры - Дополнительные параметры даты и времени, региональные параметры
4. жмёшь Язык - Изменение способа ввода
5. жмёшь Дополнительные параметры
6. жмёшь Переключение метода ввода - Изменить сочетание клавиш языковой панели
PROFIT! наслаждаешься этой маразматической операционкой!!!
[08:53:54] <geniepro> в вин8 вроде гораздо проще было, но уже не помню
[09:01:39] <Kemet> за такое надо расстреливать или как минимум на колыму лет на 25
[09:03:00] <geniepro> _valexey_: http://coop-land.ru/uploads/posts/2015-03/thumbs/1425915595_1419835597_1878181253.jpg
[09:08:53] <Kemet> линупсовые приложения в вин10 вроде норм запускаются, но надо както настроить чтоб параметры для ХСервера каждый раз не вводить
[09:09:26] <geniepro> Kemet: о_О это вроде только если убунтовую подсистему установить?
[09:09:43] <geniepro> я какую-то левую сборку ставил -- там нет режима разработчика ))
[09:13:16] <Kemet> да, норм, я лазарус запускал и компилял ))
[09:13:34] <Kemet> я ж купил вин10, так чтоя активировал и норм
[09:13:40] <geniepro> а режим разработчика включал?
[09:13:56] <Kemet> да
[09:14:01] <geniepro> ясно
[09:14:04] <Kemet> и подсистему ставил
[09:14:12] <geniepro> большой там апдейт?
[09:14:19] <Kemet> ну и потом сам приблуды нужные ставишь
[09:14:45] <geniepro> теперь поставь там KDE ))) или лучше Unity
[09:14:55] <Kemet> да хз, там минрмум ставится, потом сам что нужно доставляешь
[09:15:37] <Kemet> нах, приложения и так запускаются, только Хсервер в винде поставить надо
[09:16:07] <geniepro> надо скачать сборку со всем настроенным уже ))
[09:16:19] <geniepro> наверняка кто-то уже выложил такую сборку )
[09:26:23] <Kemet> оно только в вин 64бит
[09:27:16] <Kemet> geniepro: поставь andLinux и фсё, правда оно 32бит и старое, но работает
[09:27:43] <Kemet> у меня на висте32 стоит, я там экспериментирую
[09:36:19] <geniepro> вроде andLinux только для 32-битной венды годится?
[09:42:21] <geniepro> вроде там вапще древнючая версия бубунты 2006 года
[09:57:05] <Kemet> ну да, оно древнее, будет ли 32-х битный драйвер устанавливаться и работать в 64 б Винде хз, скорее всего нет, так поставь 32 бита, нах тебе 64?
[09:59:17] <Kemet> да вроде пишут, что ставятся 32 бминые дрова на 64 бит виндовс
[10:07:54] <geniepro> куда 32 бита поставить? о_О на комп, где 8 гиг озу, например? о_О
[10:45:01] <Е.Г.Ф.> geniepro, гугл хром 32-битный уже под линухи не делают
[10:45:05] <Е.Г.Ф.> только 64-битный
[10:45:26] <Е.Г.Ф.> релиза нету 32-битного
[10:47:10] <Е.Г.Ф.> (15:45:59) s6: мне щас интел софтину прорекламил
(15:46:15) s6: вот вообще сумасшедшие технологии
(15:46:24) s6: мультипараллельность , мультиноды
(15:46:28) s6: всё это кодить
(15:46:34) s6: всякое такое
[10:47:52] <Е.Г.Ф.> то ли было под z80 кодить
[10:47:58] <Е.Г.Ф.> то ли дело
[10:51:00] <Е.Г.Ф.> твитерные хештеги #ModernCode #IntelHPC
[11:08:32] <Е.Г.Ф.> http://software.intel.com/
[12:00:10] <Е.Г.Ф.> хех
[12:00:34] <Е.Г.Ф.> по слухам, в девелуперской команде i2pd один дядька с антарктической станции восток
[12:00:59] <Е.Г.Ф.> в свободное время и2пд помогает делать
[14:37:17] <Е.Г.Ф.> нифига себе
[14:37:28] <Е.Г.Ф.> тундербирд жрал у меня 2Г озу
[14:37:43] <Е.Г.Ф.> и почему-то не высваповывался никуда
[14:38:14] <Е.Г.Ф.> тачка локалась им
[14:38:19] <Е.Г.Ф.> висла
[14:38:43] <Е.Г.Ф.> под убунтой 16.4 всё это
[14:40:24] <Е.Г.Ф.> неспроста от него мозилла прожект избавился
[14:40:31] <Е.Г.Ф.> от тбирда
[14:58:01] <geniepro> http://krasnews.com/world/299083/
ученые доказали, что на глубине 410-660 километров под поверхностью Земли существует законсервированный океан архейского периода.
Авторы исследования подчеркивают, что они смогли получить первые прямые подтверждения наличия воды на такой глубине. Объем его, по выводам профессионалов, в разы больше Мирового океана.
[14:58:20] <geniepro> если этот океан выплеснется на поверхность, большая часть суши утонет о_О
[15:15:34] <Е.Г.Ф.> (20:09:59) s6: ресурсы машины свободны
(20:10:06) s6: а тулбар матэ не кликается
(20:10:10) s6: дерьмо матэ
(20:10:34) s6: отвисло
(20:12:44) s6: имеем
(20:12:52) s6: все линуховые оболочки дерьмо
(20:13:22) s6: десктопные
(20:14:02) s6: вот опять висит
[15:18:11] <geniepro> поставь десктоп Fly -- это российская разработка для дистрибутива Astra Linux
[15:40:26] <TRUE> а средний радиус планеты какой?
[15:42:51] <TRUE> а, вроде побольше указанной величины. То есть, это может быть правдой.
[15:43:21] <geniepro> а ты думал радиус планеты в районе 300 км? о_О
[15:46:51] <Е.Г.Ф.> около 6400 км вроде то ли радиус, то ли диаметр
[15:46:59] <Е.Г.Ф.> лезьте в википедию =)
[15:52:12] <geniepro> 13к км диаметр
[15:56:24] <Е.Г.Ф.> а я в ненавистную (ТМ) винду перебрался
[16:40:17] <TRUE> нет, я думал, что радиус в пределах 1000. Тогда 600 - это слишком близко к ядру. Там много воды быть не смогло бы.
[16:58:09] <valexey> 1000 километров - это примерно от москвы до сочи
[16:58:32] <valexey> Земля не такая маленькая, а россия не такая большая :-)
[17:19:05] <valexey> Аааа!!1 В игре Watch Dogs 2 у хакира по экрану бежит код. Код явно Сишный, но при этом там всё капсом!
[17:19:07] <valexey> MEMCPY там
[17:19:10] <valexey> IF ELSE
[17:19:23] <valexey> хм.. кажется это шанс для оберона!
[18:41:04] <valexey> кажется до оберонщиков начинает что-то доходить... http://forum.oberoncore.ru/viewtopic.php?f=29&t=5963&p=99481#p99481
[18:41:19] <valexey> так глядишь, и объевление переменный на в шапке функции захотят...
[18:46:50] <Kemet> valexey, Дык в АО произвольный порядок определений
[18:50:19] <Kemet> Хотя для АО это и не так уж актуально
[18:51:26] <valexey> Kemet: и переменные можно объявлять где угодно в функции? не только в самом начале?
[18:51:57] <Kemet> Еще бы сделали экспорт типов и констант из объектов и записей и жить стало бы еще веселей
[18:53:19] <Kemet> valexey, Не, речь о порядке секций тип конст перем проц, а переменные по месту зло
[18:54:16] <valexey> произвольный порядок секций - это первый шаг к переменным по месту :-)
[18:54:19] <valexey> ибо это одно и то же
[18:54:27] <valexey> что секция по месту, что переменная
[18:55:26] <valexey> кстати, произвольный порядок секций означает отход от маленьких модулей с малым числом тесносвязанных сущностей в каждом, к огромным модулям
[18:56:01] <Kemet> valexey, переменные в процедурах по месту ненужны
[19:00:54] <Kemet> valexey, произвольный порядок с размероммодуля никав не соотеосится
[19:08:08] <valexey> конечно относится. если у тебя жесткий порядок, то единственным способом объявить константу или тип используемые в данной функции рядом с этой функцией (то есть чтобы было удобно) - это иметь мало функций и других сущностей в данном модуле.
[19:08:23] <valexey> т.е. модули будут мелкими, ну либо у тебя не код, а говнокод и он котревью не пройдет
[19:09:23] <valexey> следующий шаг (после разрешения любого порядка в модулях) - это возможность разбиения модуля на несколько файлов.
[19:09:39] <valexey> как в шарпе, или в го :-)
[19:12:17] <Kemet> ну в АО хотели сделать возможность компиляции нескольких файлов в один модуль, в Шарпе утянули из Модулы-3 partial types,
[19:13:24] <Kemet> в старом компиле PACO есть такая возможность, но собирать так можно только длл, ь.е не доделали,
[19:15:32] <Kemet> а, в Фоксе есть таки флаг компиляции --singleModule
[19:25:20] <valexey> ыыы
[19:27:39] <Kemet> yj z yt ghjdthzk xnj jy ltkftn? vj;tn cjdctv lheujt ) bkb yt htfkbpjdfy ? ghjcnj pfcnjk,bkb )))
[19:27:45] <Kemet> бгг
[19:41:59] <valexey> vlad2: поздравляю, теперь ты коллаборационист ;-)
[19:42:03] <valexey> на гитхабе
[19:48:51] <Kemet> valexey: не работает, скорее всегоесть но  не в паблике, ибо там описаны разные полезные ключи компиляции, которых в компиле нету,
[19:50:26] <valexey> у нас есть такие приборы, но мы вам их не покажем!
[19:50:29] <valexey> как обычно :-)
[19:57:44] <Kemet> хм, есть ключик, позволяющий генерить кот для ActiveCells Не для FPGA, а для интеля, типа для тестирования симуляции и гененрации, надо проверять, ибо штука хорошая
[20:01:57] <valexey> угу
[20:22:46] <Kemet> походу код интеловский генерится, надо смотреть плотнее, доки почитать там, и проверить на рабочем примере взаимодействие "ячеек"
[20:32:22] <vlad2> valexey: оно ругалось долго (404  и т.п.) - точно сработало?
[20:34:05] <valexey> vlad2: в Collaborators  ты значишься
[20:34:08] <valexey> в настройках репозитория
[20:34:23] <valexey> это как бы Push access to the repository
[20:34:34] <vlad2> Попробую пушнуть, но чуть позже.
[20:35:04] <valexey> ok
[20:35:30] <valexey> может еще народ плюсовый подтянется. кто не на форуме
[20:38:42] <vlad2> У меня там абсолютно дубовое решение. Вообще без фантазии. Но зато маленькое :)
[20:39:57] <valexey> дык это ж хорошо! :-)
[20:40:04] <valexey> больше решений, хороших и разных!
[20:40:43] <vlad2> Ну и конечно всяки итераторы-хераторы, так что тормозить будет славно. У оберонов будет шанс :)
[20:41:21] <valexey> сестру шоле привлечь к решению задачки...
[21:13:19] <geniepro> valexey: не развращай сестрицу )))
[21:24:26] <valexey> geniepro: чем?
[21:26:48] <vlad2> Критикуйте: https://github.com/valexey/bigbench/blob/master/vlad/simple/sort.cpp
[21:29:34] <valexey> хы. т.е. у тебя собственная сортировка слиянием, а на мелких массивах стандартная сортировка? ну неплохо, да. один из вариантов вполне.
[21:29:43] <valexey> но это в теории неплохо. надо тесты погонять :-)
[21:29:50] <valexey> пока не на серваке а тупо на компе.
[21:30:42] <valexey> кстати, а почему у тебя два стиля отступов для фигурных скобок? где то вначале таб а потом { а где-то сразу {
[21:32:24] <vlad2> Потому что на работе у нас совершенно дурацкий стиль и я не хотел его показывать публике. Но он там пробивается в виде разных отступов :)
[21:33:09] <vlad2> Там все стандартное ;) Ничего не придумал нового.
[21:33:51] <valexey> ну у тебя комбинация же :-) можно же например еще взять, сделать для файла свой итератор и сразу засунуть его в std::sort :-)
[21:36:08] <vlad2> Можно, но я подумал, что это вообще будет в духе сортировки пузырьком - заведомо неэффективно.
[21:38:03] <vlad2> Кроме того, скорее всего пришлось бы придумывать собственный итератор - а это не для слабонервных. Кода было бы скорее всего больше.
[21:43:05] <valexey> потребление резидентной памяти - 102Мб
[21:43:29] <valexey> да, у меня под 200 строк получилось. При этом этот итератор ещё и не работает :-)
[21:46:21] <vlad2> Это ты про мой вариант - 102Mb?
[21:46:31] <vlad2> Он хоть правильно работает? :)
[21:47:46] <valexey> на валидность исчо не смотрел. сейчас отработает еще пару раз, и гляну
[21:47:50] <valexey> да, твой
[21:48:12] <valexey> виртуальной памяти (не своп) при этом 112 Мб
[21:54:26] <valexey> да, работает корректно. по крайней мере на одном файле
[21:55:57] <vlad2> Круто. А че там с другими рещениями?
[21:59:14] <vlad2> Кстати, теоретически я мог просчитаться с памятью - размер struct int_t может быть больше std::uint32_t. Если бы из-за выравнивания оно было 8, то оно отъедало бы 200Mb.
[21:59:35] <valexey> ща надеюсь еще одно решение будет. ну, то есть через пару часиков. и тоже плюсатое
[22:00:00] <vlad2> Я поэтому воздержался от прямого чтения в буфер через злобный reinterpret_cast.
[22:00:44] <valexey> ну, просчитался бы - прога былы бы убита системой :-)
[22:00:52] <valexey> с out of memory eггог
[22:01:31] <valexey> я пока запускал на мелком файле - гигабайтном
[22:01:42] <valexey> ну и на своем десктопе а не серрваке
[22:02:25] <valexey> отработало примерно так:
real 2m25.166s
user 1m51.277s
sys 0m10.533s

[22:02:43] <vlad2> Да, долгл че-то.
[22:03:10] <valexey> причем умну тут SSD таки
[22:05:06] <vlad2> Ну там есть где ускорить. Но надо застолбить базу в 52 строки :)
[22:06:40] <valexey> одно моё читерное решение было в 11 строк кода внутри main'a и нуль строк кода вокруг майна - только инклюдов стандартных пачка. :-)
[22:06:54] <valexey> но оно читерное. оно не плюсовое, оно линуксовое. решение это было.
[22:07:08] <valexey> а, да. ещё оно не всегда работало :-)
[22:08:17] <valexey> но 52 строки это хорошо. у тебя вообще код красивый.
[22:08:22] <vlad2> Читать/сортировать можно в обычный массив (заодно гарантировать, что по памяти влезаем). А в мердж спускать какой-нибудь boost::transform_iterator, чтобы подружить обычные int'ы и структурки.
[22:09:33] <vlad2> Но тогда boost потянется и магии будет больше :)
[22:11:03] <valexey> а потом окажется что это наилучшее решение и придётся это все как-то реализовывать на обероне...
[22:12:12] <valexey> а то кривенькое решение, которое я упоминал (на плюсах), работает как-то так:
real 3m30.904s
user 2m47.203s
sys 0m17.997s
[22:12:27] <vlad2> Еще заменить там на std::ostreambuf_iterator - тоже быстрее будет.
[22:12:49] <vlad2> Которое линуксовое?
[22:13:02] <vlad2> Оно не на мэппинге?
[22:14:03] <valexey> не, универсально плюсовое. корректное не не оптимальное.
[22:14:16] <valexey> читерно линуксовое с mmap и другими фишками работает быстрее конечно.
[22:15:54] <valexey> то линуксовое да плюсовое да на mmap'e работало как-то так на этом же файле:
real 1m20.829s
user 0m35.370s
sys 0m11.767s

[22:16:06] <valexey> но, повторюсь, оно не всегда работает.
[22:16:50] <vlad2> Да, не то чтоб и очень быстро...
[22:17:24] <valexey> ну, в джва раза :-) но не вот прям пуля
[22:18:16] <vlad2> Интересно для сравнения таки "все в память, sort, и на диск". Как предел :)
[22:18:51] <vlad2> (ну и чтоб оно все в физическую память влезало).
[22:19:36] <valexey> методика проведения теста слишком честная, в том плане, что тут mmap не может использовать всю реально существующую память в системе под кэшш
[22:21:35] <vlad2> Угу.
[22:21:52] <valexey> только те жалкие 128 что по задаче положены :-)
[22:51:34] <valexey> надо описалово на инглише на джихаб добавить шоле
[22:51:42] <valexey> чтобы можно было и буржуев подключить ;-)
[23:17:42] <vlad2> Я там зорко отписался в личку и prospero - может клюнут :)
[23:24:34] <valexey> хы
[23:24:38] <valexey> ок-ок
[23:24:56] <valexey> чую я ждет нас пачка недооберонов транслирующихся в Си :-)
[23:27:54] <valexey> но тоже весело будет, чо.
[23:35:29] <valexey> с другой стороны это тоже интересно - насколько оберон транслируемый в Си может конкурировать собственно с сями
[23:53:15] <valexey> в репозиторий прилетело ещё 2 решения на c++
[23:53:26] <valexey> так что, vlad2 ты теперь там не один :-)
[23:54:19] <vlad2> Мне даже больше не скорость интересна, а насколько оно на обероне будет выглядеть прилично. От тру оберонщиков, а не от ополченцев :) Жаль, что info21 на такое не раскрутить ;)
[23:55:04] <vlad2> Да, посмотрел, но не вникал еще. Одно на мэпнутых файлах. А другое мерял?
[23:55:28] <valexey> угу. другое это то, которое плюс-минус корявое и работало медленнее твоего.
[23:55:39] <valexey> хотя хз. может это пофикшенная версия.
[23:56:24] <valexey> info21 как раз такое делал, я ж там даже цитату с делфикиндома нашел :-) т.е. похожую задачу
[23:58:17] <valexey> для оберона тут конечно порог вхождения очень высокий. просто из за инструментария
[23:58:27] <vlad2> У него там еще какая-то математика была, непростая...