Ayrat
ну шо делать
Vladislav
Stack overflow.
ExitCode != 0
Vladislav
бум
Ayrat
ай яй яй
Ayrat
но цпу плавится
Ayrat
Ayrat
я ебанул 1024 инвокейшнов и на миллионе месаджей это наверное… миллиард мессаджей становится
Ayrat
не знаю, дождусь ли
Ayrat
ты из под какого рантайма запускаешь?
Ayrat
возможно хардкодить этот инвокейшн тоже тупая идея
Vladislav
Runtime=.NET Core 3.1.4 (CoreCLR 4.700.20.20201, CoreFX 4.700.20.22101), X64 RyuJIT
Ayrat
на маленьких операциях надо больше, на больших надо меньше
Ayrat
короче, не надо хардкодить, да
Ayrat
пойду поем, он наверное закончит
Vladislav
а чо делоть
Ayrat
я запускаю так к слову
sudo dotnet run -c Release
Ayrat
у меня никаких SO, но им тут хз откуда взяться
Ayrat
тоже неткор 3.1
Ayrat
[<SimpleJob(launchCount = 3, warmupCount = 3, targetCount = 5, invocationCount = 100)>]
[<GcServer(true)>]
[<MemoryDiagnoser>]
Ayrat
// Runtime=.NET Core 3.1.3 (CoreCLR 4.700.20.11803, CoreFX 4.700.20.12001), X64 RyuJIT
// GC=Concurrent Server
Ayrat
даже постарее чутка!
Ayrat
я хз но вроде бдн пересобирает сам в релизе. но я на всякий всегда собираю релиз
(тейлкол оптимизации в дебаге выключены)
Vladislav
Vladislav
попробую каналы опять
Ayrat
Vladislav
у меня на каналах СО был, на то что на мейлбоксах нет
Vladislav
но я запускал из студии
Ayrat
ой не, из студии не надо запускать, это ж оверхед
Ayrat
сук, не дождусь походу. пойду поем
Ayrat
отправить миллиард сообщений очень много раз наверное долго
Ayrat
так, я дождался. цпу и мемори консапшн у куеев упали в 10 раз по сравнению со стартами, что логично
Ayrat
332 байта на отправку месаджа в среднем
Ayrat
на ляме сообщений
Ayrat
можно оптимизнуть думаю, там много джоб - на чтение мвара и пр
Ayrat
мвар можно не читать джобой, можно взять через MVar.Now - это точно безопасно, ты ж его предзаполняешь
Ayrat
просто возможно одновременное чтение/запись
Ayrat
вот это не очень безопасно
Ayrat
start
| Method | MessageCount | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|----------------- |------------- |------------:|----------:|----------:|--------:|--------:|------:|-----------:|
| HopacEventStream | 100 | 105.9 us | 11.50 us | 10.76 us | 0.4883 | - | - | 95.17 KB |
| HopacEventStream | 10000 | 10,902.7 us | 479.13 us | 448.18 us | 62.5000 | 15.6250 | - | 9512.53 KB |
queue
| Method | MessageCount | Mean | Error | StdDev | Gen 0 | Gen 1 | Gen 2 | Allocated |
|----------------- |------------- |--------------:|--------------:|--------------:|------:|------:|------:|-------------:|
| HopacEventStream | 100 | 18.10 us | 7.840 us | 7.334 us | - | - | - | 21.92 KB |
| HopacEventStream | 10000 | 1,428.37 us | 279.644 us | 261.579 us | - | - | - | 1978.42 KB |
| HopacEventStream | 1000000 | 220,302.73 us | 39,911.154 us | 37,332.919 us | - | - | - | 324913.17 KB |
@Liminiens
в первом бенче нет миллиона, я заебался ждать
Ayrat
гц нигде не тригернулся в варианте с куеями
Vladislav
спасибо
Vladislav
пока что System.Threading.Channels лучше
Vladislav
а стримы гопака не про это все?
Ayrat
ну про это всё, но там надо иметь в виду что они персистентные
Vladislav
Ayrat
они не производят сайд эффектов при повторной енумерации потому что запоминают результат вычисления
Ayrat
фпшечка!
Vladislav
Вроде понял и не понял
Ayrat
ну короче стрим там будет висеть в памяти со всей колбасой результатов пока на него есть ссылки
Ayrat
но т.к. стрим линкед лист, то если забывать голову, то она собирается гц
Ayrat
то есть если не держать ссылок на голову, а работать с хвостом стрима всегда, то память не утекает
Ayrat
но если ты случайно оставишь ссылку на голову, то тоби пизда. И это бай дизайн
Romɑn
Блоо
Romɑn
TL;DR как левелдизайнеры управляют опытом игроков, и что общего у греческой мифологии, дворцов и игр про Слендермена
В 1980 году компания Namco представила аркадный кабинет Pac-Man. Простое по нынешним меркам игровое поле стало иконой левелдизайна. Уникальным игровым процессом Pac-Man обязана лабиринту, ставшему одним из самых узнаваемых элементов видеоигр.
Виртуальные миры со времен Пак-Мэна успели развиться в разных направлениях и подарить игрокам множество эмоций, от интереса к горам на горизонте в Skyrim до страха перед очередным поворотом в темных коридорах Silent Hill. Иногда для сильной реакции достаточно просто добавить пару лишних стен.
О том, зачем авторы видеоигр заставляют нас блуждать по лабиринтам, что общего у сада в Версале и игры про Слендермена, и как связаны Дедал, спидраннинг и левел-дизайн, читайте в нашем материале.
Vladimir
А работает у кого-нить в райдере open folder?
Vladimir
или работало ли?
Viacheslav
Раньше работало
Hog
Работало. У меня есть отдельная эконка на дескопе, запускающая райдер с открытием фолдера - скриптопомойки
Hog
Но я последние пару недель с вскодом ему изменяю 😭
Vladimir
все разобрался с помощью гугла) до этого минут 10 пытался открыть сам)
Hog
Там сверху какой-то переключатель вьюх неявный
Vladimir
не, я про диалог открытия, там надо выделить папку и нажать опен, другие способы не работали)
Hog
А :) так это везде, где требуется фолдер, а не файл 😜
Vladimir
не, обычно ты заходишь в папку и нажимаешь ок) и она выбирается)
Hog
Ок
Ilya
Romɑn
Vladislav
Ayrat
Ayrat
столько ченелов сколько сабов
Hog
чот в порнете дичь
Hog
как можно так общаться?!
Vasily
Гребцы ребята простые
Mikhαil
как можно так общаться?!
Хз. Ну я тоже нагрубил. Но у меня пригорело что чувак двух людей хуями кроет а они ему нормально помочь пытаются
Hog
я понимаю, когда по-дружески посылают, но там-то не та ситуация. прям читать противно
Vasily
Hog
нет :) я пролистал
Vladislav
да там ничего интересного
Vasiliy
Ayrat
Ребят. Всем доброго вечера. Вот возник такой момент. Нужно разделять в пуле потоков данные. Как лучше такое реализовать?
Ayrat
спешу поделиться