[01:13:06] <valexey> "Вот ездил в кардиоцентр. Повесили аппарат для суточного замера давления. Манжета на руке и моторчик в сумочке. Периодически давление меряет. На обратном пути прицепились два головореза: «Кто такой? Дай закурить?Молчу… Обстановка накаляется. И вдруг начал этот моторчик гудеть - манжету качать. Я от неожиданности выпрямился и замер. Эти двое тоже насторожились. Жужжит, левая рука накачивается на глазах!!! Тут моторчик заглох и я, голосом робота, с остекленевшим взглядом в никуда, выдаю:
- Включен боевой режим.
Как они бежали – надо было видеть! "
[01:52:11] <vlad2> Хе-хе :)
[02:39:35] <vlad2> Как же все-таки тяжко с ГЦ... Черный ящик без ручек и гарантий.
[02:42:41] <valexеy> угу. ужоз. как люди с этим живут?
[02:43:04] <valexеy> впрочем, у java ручек у GC много. можно крутить и так и эдак.
[02:43:28] <valexеy> процесс настройки GC под задачу напоминает танец с бубном вокруг костра.
[02:45:34] <valexеy> в попытках призвать производительность :-)
[02:46:18] <valexеy> c другой стороны, в С++ если какой-то гад, где-то взял и сломал память, или не дай БГ, стек, то ловить это тоже не всегда тривиально.
[02:46:44] <valexеy> хотя конечно valgrind и всякие отладчики, сильно спасают ситуацию.
[02:49:08] <vlad2> Мне всего лишь надо репродьюснуть багу. Для этого надо, чтобы ГЦ собрал вот этот объект. Именно этот и именно сейчас. Все, затык. Потому что именно этот и именно сейчас он не хочет ни в какую. Начинаются танци с бубнами. Создаем еще один объект. И тогжа вот этот и другой начинают собираться. !@#$
[02:49:51] <valexеy> погодь, а как у тебя бага завязана на сборку мусора?
[02:49:52] <vlad2> И главное претензий ведь никаких не предъявишь к разработчикам. ГЦ такой ГЦ.
[02:50:08] <valexеy> у тебя там жабаскрипт, или чо?
[02:50:17] <vlad2> У меня есть крэшь и есть предположения из-за чего.
[02:50:24] <vlad2> Больше ничего нет.
[02:50:40] <vlad2> Чтобы проерить предположение мне надо вот такую ситуацию проиграть.
[02:51:06] <vlad2> У меня жабаскрипт с экспонутыми туда плюсовыми объектами.
[02:51:25] <valexеy> оу. и вот тебе надо чтобы твои плюсовые объекты GC собрал?
[02:52:10] <vlad2> Да. В смысле он собирает, все работает. В общем и целом. Но мне надо не в общем, а конкретный в конкретном месте.
[02:52:49] <valexеy> Гм. а у движка что вы пользуете для жабаскрипта, там нет секретных ручек низкоуровневых для этого?
[02:52:51] <vlad2> И только для целей отладки.
[02:53:20] <vlad2> Ну там есть дамп. С мильеном объектов :)
[02:53:37] <valexеy> брр
[02:53:50] <valexеy> не, дамп не то, нужно сделать хинт сборщику кого собрать.
[02:54:35] <vlad2> Нет,  такого нет.
[02:55:02] <valexеy> а частенько такое таки бывает.
[03:15:02] <vlad2> Йез! Репродьюснул таки :)
[03:19:17] <vlad2> Видимо после добавления логгинга чуть-чуть тайминг изменился...
[03:20:55] <vlad2> Хотя там нет многопоточности. Вобщем да, черный ящик.
[03:32:29] <vlad2> Чем-то напоминает поиск баги в суровом сишном проекте, где все лазят поинтерами по памяти и делают что хотят.
[03:35:10] <valexеy> язык с GC - почувствуй себя ничтожеством пред лицом божественной машины!
[18:22:48] <alexey.veselovsky> vlad2: написал блюр Сергея в ББ и запустил :-D
[18:27:57] <alexey.veselovsky> ня. в КП байт - ЗНАКОВЫЙ
[19:36:35] <alexey.veselovsky> vlad2: http://oberspace.dyndns.org/index.php/topic,484.msg15798.html#msg15798
[19:36:38] <alexey.veselovsky> :-D
[19:48:35] <vlad2> Да, интересно.
[19:49:00] <vlad2> Но результаты вполне предсказуемы - я име ввиду разы отставания для ББ и чуть-чуть для C#.
[19:49:42] <vlad2> На оборонкоре постил? ;)
[19:50:21] <vlad2> Хорошая иллюстрпация на тему того, что проверки границ в ББ не тормозят ;)
[19:51:38] <alexey.veselovsky> Ну, может кто перепишет более производительно :-)
[19:51:41] <vlad2> По поводу занкового байта - согласен, facepalm :)
[19:52:01] <vlad2> Да, и с пиведениями типовы там все страшно.
[19:52:05] <alexey.veselovsky> Зато там char беззнаковый. Но с ним так просто работать нельзя. Надо конвертать туда-сюда
[20:04:38] <alexey.veselovsky> vlad2: я подозреваю, что второй вариант так резко затормозил относительно первого из за функции индексации. Оно ж не умеет их инлайнить.
[20:13:26] <vlad2> А. НУ да.
[20:14:04] <vlad2> А без отдельной функции там совсем страшно будет.
[20:14:16] <alexey.veselovsky> угу
[20:14:51] <vlad2> Надо того, в жабаскрипт скомпилять и заранить ;)
[20:15:09] <alexey.veselovsky> Сурово
[20:15:36] <vlad2> Допили свой оптимизатор скобок и займусь ;)
[20:15:42] <vlad2> Ljgbk.
[20:15:44] <vlad2> !@#$
[20:15:47] <vlad2> Допилю
[20:16:04] <alexey.veselovsky> Будет совсем злобно, если оно в результате порвет ББ или будет с той же скоростью работать
[20:16:54] <vlad2> Не, я не думаю, что порвет. Таки жабаскрипт, чего с него взять. Если в asm js, тогда да...
[20:17:16] <alexey.veselovsky> дык asm js это тоже обычный js :-)
[20:17:23] <alexey.veselovsky> ну и не забывай что оно jit'ится таки
[20:18:23] <vlad2> Че-то форум отвалился.
[20:19:04] <alexey.veselovsky> умну работает
[20:19:37] <vlad2> Странно. У меня инет тоже есть, но вот сайт не открывается.
[20:19:51] <vlad2> could not connect to oberspace.dyndns.org
[20:20:36] <alexey.veselovsky> в последнее время вот так вот не открываются самые неожиданные сайты.  я хз почему
[20:20:41] <alexey.veselovsky> советую попробовать позже :-)
[20:23:26] <vlad2> Хотел глянуть чего там специфичного для КП есть.
[20:23:34] <vlad2> Вроде ничего оне должно.
[20:23:50] <vlad2> Т.е. скомпиляться О7 должно нормально.
[20:25:36] <alexey.veselovsky> у меня форум работает. только что новое сообщение выслал туда
[20:26:09] <vlad2> Не, не пашет.
[20:27:38] <alexey.veselovsky> BB/CP (2D массивы аналогично наивной реализации на C#, "*0.25"):
  time: 439 seconds
  fps : 2.28
BB/CP (2D массивы аналогично наивной реализации на C#, "/4"):
  time: 303 seconds
  fps : 3.3
[20:29:24] <alexey.veselovsky> зато у меня github не открывается :-)
[20:36:17] <vlad2> А у меня открывается ;)
[20:36:31] <alexey.veselovsky> такое ощущение, что европу от штатов отрезало
[20:37:35] <alexey.veselovsky> точнее конкретно наш сервак
[20:43:35] <alexey.veselovsky> vlad2: у меня открылся гитхаб. значит и у тебя форум откроется
[20:43:45] <alexey.veselovsky> но на всякий случай, вот этот ББшный код: https://gist.github.com/valexey/5453596
[20:44:02] <alexey.veselovsky> уже оптимизированный - избавленный от REAL'ов
[20:48:05] <vlad2> ДА, форум открылся :)
[20:48:47] <vlad2> C приведениями типов - не знаю как оно в О7.
[20:49:11] <vlad2> (не помню чтоб имлементил приведение к SHORT)
[20:49:13] <alexey.veselovsky> там хреново - там будет наверняка переполнение
[20:50:42] <alexey.veselovsky> ведь там ВСЕ выражение в одном типе вычисляется
[20:50:50] <alexey.veselovsky> то есть формулу придется изменить
[20:51:18] <vlad2> О7. Жестко.
[20:51:19] <vlad2> :)
[20:51:36] <alexey.veselovsky> И руками явно типы расставить
[20:51:41] <alexey.veselovsky> А не как сейчас :-)
[20:52:49] <vlad2> Езда на деревянных колесах. 100% чувство дороги :)
[20:53:14] <alexey.veselovsky> это точно. а также досок из которых оно сделано
[21:07:35] <alexey.veselovsky> vlad2: боюсь за такие тесты на оберонкоре просто расстреляют на месте :-)
[21:24:02] <vlad2> Ты еще предложи info21 обновить бэнчмарки на его сайте ;)
[21:24:16] <vlad2> А то там, вроде, VC6 до сих пор висит.
[21:26:16] <alexey.veselovsky> :-)
[21:26:22] <alexey.veselovsky> за это тоже расстреливают же :-)
[21:31:12] <vlad2> Ну так, в порядке троллинга :)
[21:31:38] <vlad2> Типа "засекаем время - сколько продержится пост" :)
[21:49:44] <alexey.veselovsky> vlad2: это сурово - это бенчмарк модераторов :-)
[23:38:15] <vlad2> Можно, конечно, попробовать придать конструктив в виде "а как тут заоптимизить для КП".
[23:38:30] <vlad2> message bus может какой прикрутить ;)
[23:38:59] <vlad2> Н-не. Нах message bus. ЦД наше все!
[23:49:54] <vlad2> info21 должон клюнуть на цикл Дейкстры :)