[03:29:50] <_valexey_> vlad2: не добрался ещё до задачки?
[08:27:48] <geniepro> https://www.facebook.com/sloneus/posts/688411767976989 про Boost
[08:30:58] <geniepro> Kemet> мля, а где общедоступный intel c++ compiler?
он вроде только под линух бесплатен
[08:37:58] <geniepro> Kemet: похоже так просто уже не скачать интеловский компилер. надо качать коммерческую версию, а потом пытаться получить бесплатную лицензию
[08:38:15] <geniepro> ну или если устроит старая версия -- качать с торрентов
[12:52:13] <geniepro> http://kolokolrussia.ru/novosti/glazev-v-rossii-hvataet-srya-zavodov-i-kadrov-ekonomicheskiy-krizis---rukotvorny
[13:23:48] <valexey> Хха. Ошибку таки нашли :-)
[13:24:25] <geniepro> кто? где? когда? о_О
[13:30:20] <geniepro> valexey: http://oberspace.dyndns.org/index.php/topic,687.30.html
[13:30:53] <valexey> предлагаю подумать :-)
[13:31:10] <valexey> ошибки в компиляторе, тут, очевидно, нет.
[13:33:52] <geniepro> ну значит ошибка в реализации вектора
[13:33:55] <valexey> нет
[13:34:12] <valexey> предлагаю подумать
[13:34:23] <geniepro> ну тогда хз, не должно быть такого эффекта -- изменяются же независимые места памяти
[13:35:03] <geniepro> проблема может возниктнуть только при попытке оптимизировать код каким-то смелым образом
[13:35:52] <valexey> а неа :-)
[13:38:55] <geniepro> так кккк -- это какой-то константин, походу. он там деанонимизировался... тогда это не петруха ((
[13:39:32] <geniepro> хотя может это просто никнейм в честь известного фильма "Константин"
[13:39:48] <valexey> Я ж говорю - не похож он.
[13:41:03] <geniepro> слишком вежливый что ли? но в начале своего появления на форуме он вёл себя точь в точь как петруха
[13:43:08] <geniepro> это что там получается -- при добавлении элемента в задницу вектора его содержмиое перемещается по памяти куда-то хрен знает куда что ли???? ну в хаскеле со списками этого точно не было бы
[13:44:07] <geniepro> там же вроде должны быть оптимизации добавления, что бы уменьшить потери времени на перемещение вектора туда-сюда
[13:44:36] <geniepro> кстати, перепиши с ветора на список -- пропадёт проблема?
[13:52:41] <valexey> скорее всего пропадет. равно как и быстродействие :-)
[13:52:52] <valexey> но кому нужны эти списки?
[13:54:12] <geniepro> пропадёт ли быстродействие зависит от того что чаще делается -- добавление новых элементов или обработка старых
если только добавление, то может сильно вырасти
[14:00:08] <valexey> обработка старых по индексу
[17:36:05] <vlad2> _valexey_: на этих выходных доберусь.
[17:36:31] <valexey> ну там уже решили
[17:36:36] <valexey> но если не хочешь спойлеров, не смотри туда
[18:32:39] <vlad2> OK
[20:21:46] <vlad2> /me качает XCode8 - 4.1Gb.
[20:30:51] <valexey> vlad2: а я уже :-)
[20:31:00] <valexey> ну, не так уж и много. тащемто
[20:31:07] <valexey> они, кстати, вроде докачку сделали
[20:31:10] <valexey> что есть гут
[20:31:21] <valexey> "(C хабра)

Я раньше поражался тому, как уродливы изнутри «взлетевшие» проекты. Сейчас я знаю: красивые проекты не взлетают, потому что они не успевают взлететь. Пока инженеры в белых халатах прикручивают красивый двигатель к идеальному крылу, бригада взлохмаченных придурков во главе с безумным авантюристом пролетает над ними на конструкции из микроавтобуса, забора и двух промышленных фенов, навстречу второму туру инвестиций. Авантюрист любезно раздаёт восторженным пассажирам талоны и бумажные пакетики."
[20:51:26] <vlad2> Xcode распаковывался дольше, чем скачивался.
[20:59:04] <valexey> угу
[20:59:25] <valexey> кстати, после обновления OS X до macOS у меня сломался мелкософт офис
[21:04:33] <valexey> надо таки на свифт переползать
[22:08:52] <TRUE> э-э... Я что-то не понял логики...
[22:09:07] <TRUE> или это просто два несвязанных предложения?
[22:21:53] <valexey> несвязанных
[22:21:59] <valexey> то есть связаны очень косвенно
[22:22:18] <valexey> просто вследствии апгрейда теперь есть swift 3.0 который и под линух есть
[22:22:29] <valexey> теперь можно и клиент и сервер на едином языке лепить
[22:23:23] <TRUE> "у меня сломался офис", "пора переходить на свифт"
[22:25:13] <TRUE> а у свифта есть како-то серверный фреймворк или всё с нуля, на сокетах писать?
[22:38:02] <valexey> а что именно тебе нужно? зачем фреймворк то?
[22:49:37] <TRUE> ну что-то типа контейнера сервлетов. Ведь, почти на каждом языке написано что-то подобное.
[23:00:45] <valexey> э? зачем это?
[23:05:58] <TRUE> ну, ведь механизм работы с сокетом у всех (или почти всех) приложений одинаков. Почему бы его не вынести в отдельную сущность?
[23:07:52] <valexey> в смысле?
[23:08:05] <valexey> ничего не понял. ну есть сокетная либа. зачем сервлеты то?
[23:08:44] <valexey> которая для тебя абстрагирует всё что надо.
[23:08:56] <valexey> в итоге в каждом серверном приложении ты не пишешь снова и снова лисапед
[23:12:07] <valexey> что эта сервлетность должна делать? скажи, я скажу как обойтись без них :-)
[23:14:47] <TRUE> по-сути, сервлет - это обработчик сообщений. А сервер - контейнер. Ты добавляешь в контейнер обработчик сообщений в нужные места жизненного цикла (так называемую бизнес-логику) и всё это начинает работать. Если твоя "либа" так и делает, то она и есть фреймворк.
[23:15:26] <valexey> это всё делается сейчас через какой-нибудь КролликMQ
[23:16:15] <valexey> ну и вообще, через ∀MQ
[23:16:36] <valexey> и это от языка не зависит.
[23:17:05] <TRUE> да всё не так
[23:17:17] <TRUE> ну ладно, пусть будет обработчик событий, а не сообщений
[23:17:36] <TRUE> главное, что не надо иметь дел с самими сокетами.
[23:18:12] <valexey> не понимаю, что такого страшного в сокетах? это же одна из самых простых вещей.
[23:18:17] <valexey> блин, 10 строк написать.
[23:18:33] <TRUE> ну, вообще-то да...
[23:19:28] <TRUE> но ты открыл серверный сокет, принял запрос, обработал его. И всё работает. А потом понадобилось что-то по-производительней.
[23:19:44] <valexey> и-и?
[23:20:32] <TRUE> и приходится ждать на серверном сокете запрос, принимать его, отдавать в очередь и снова засыпать на сокете. А запросы обрабатывать в других потоках.
[23:20:54] <TRUE> а потом для этих потоков придумывать пул и управлять им.
[23:21:04] <TRUE> а потом ещё что-то
[23:21:19] <TRUE> и каждую из этих вещей в каждом проекте, где нужен сокет.
[23:21:26] <TRUE> напрашивается общее решение.
[23:21:45] <TRUE> оно приемлемо не всегда, но часто
[23:22:03] <valexey> дык, едрить, тред-пулы воркеров это библиотечная сучность.
[23:23:14] <valexey> алсо если у тебя несколько приложений на серваке (каждая апликация что-то там делает своё), то один хрен ты оптимально уже не сконфигуришь это дело по производительности. Они же за ядра будут драться. Оптимально это один сервер физический - одна задача.
[23:23:44] <valexey> Поэтому даже если у тебя сервлеты, то есть нужна производительность один хрен ты уйдешь на КролликMQ и на отдельные сервера
[23:23:53] <valexey> И на каждом сервере будет по потоку на ядро жестко.
[23:26:09] <valexey> ну а в каком-нибудь Go, или другом языке где есть лекговесные потоки уже в стандартной либе или языке, то всё вообще просто - у тебя просто по числу ядер имеется число тяжеловесных потоков, и по ним уже размазаны легковесные. На каждое соединение у тебя адын легковесный поток. Все унутре общаются записочками ака сообщениями. Всё. Это если унутре одной апликации. Всё в языке обычно уже есть либо в стандартной либе либо в околостандартной либе в пакет-манагере.
[23:27:37] <valexey> А можно еще смешнее сделать - запустить приложений-воркеров по числу ядер (причем прибить их к конкретным ядрам железно), и иметь небольшое приложение, которое принимает соединение, совершает хендшейк, смотрит кто из воркеров менее загружен и уже ему передает это соединение/файловый дескриптов в работу.
[23:27:59] <valexey> При этом все эти приложения работают в изолированных адресных пространствах и могут быть писаны вообще на разных ЯП.