Home
Objective Caml
ocaml@conference.jabber.ru
Суббота, 6 августа 2011< ^ >
f[x] установил(а) тему: Камль -- http://caml.inria.fr | http://camlunity.ru/ (теперь с git доступом!) | Верблюды грязи не боятся! | release crap, enjoy NIH | репортьте баги официальным дилерам | ocaml мёртв и тормозит, move on
Конфигурация комнаты
Участники комнаты

GMT+4
[00:00:54] Typhon вошёл(а) в комнату
[00:33:38] ermine демонтировала вентилятор и слиняла
[00:33:41] ermine вышел(а) из комнаты
[01:29:01] ygrek вышел(а) из комнаты
[02:06:13] <Typhon> вы тут про _эти_ implicit values: http://www.lexifi.com/blog/implicit-values ?! есть для таких случаев сайт специальный: http://www.nooooooooooooooo.com/
[02:57:44] <Typhon> https://github.com/slfritchie/msgdropsim
[03:36:48] <Typhon> ха, может новость, а может и нет, довольно известный х-ль блоггер тоже в жейнстрит работает видимо: http://blog.ezyang.com/2011/08/first-impressions-of-module-programming/
[04:25:59] Typhon вышел(а) из комнаты
[09:02:13] gds вышел(а) из комнаты
[09:02:52] gds вошёл(а) в комнату
[09:10:43] ftrvxmtrx вошёл(а) в комнату
[09:36:28] <gds> Typhon: про блогыря -- новость.  прикольная.  нехай какадемик похлебает реального мира.
[09:51:05] ygrek вошёл(а) в комнату
[10:09:08] <ygrek> "during my time" - похоже что _работал_
[10:16:27] <gds> логично.  ну и прошедшее-совершенное время.
[11:37:58] ftrvxmtrx вышел(а) из комнаты
[11:38:10] ftrvxmtrx вошёл(а) в комнату
[11:46:22] ftrvxmtrx вышел(а) из комнаты
[12:03:06] Typhon вошёл(а) в комнату
[12:13:13] ermine вошёл(а) в комнату
[12:22:19] komar вышел(а) из комнаты: Replaced by new connection
[12:22:20] komar вошёл(а) в комнату
[13:12:10] arhibot вошёл(а) в комнату
[13:24:49] Typhon вышел(а) из комнаты
[13:37:12] zinid вошёл(а) в комнату
[13:41:46] ftrvxmtrx вошёл(а) в комнату
[14:03:31] arhibot вышел(а) из комнаты
[14:29:03] mrm вошёл(а) в комнату
[14:38:51] <mrm> Офигеть. Парень успел поработать в Microsoft Research, Galois, Jane Street, ITA Software
[15:24:24] abiogenesis вошёл(а) в комнату
[15:25:01] <mrm> http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
[15:25:27] <mrm> Если повезёт, F# прибавит популярности камлу :-)
[15:45:57] <ygrek> хм, похоже без C написать String.starts_with который не будет аллокейтить невозможно
[15:45:59] <ygrek> печалька
[15:48:29] <ygrek> о, можно :)
[15:49:00] <ygrek> если конечно -g не включать :(
[15:49:59] mrm вышел(а) из комнаты
[15:52:21] <ygrek> итого, я ускоряю String.starts_with в 4 раза
[15:52:47] abiogenesis вышел(а) из комнаты
[15:54:20] <gds> ygrek: а как влияет -g?
[15:56:02] <ygrek> PR#5313
[15:57:14] <gds> а пробовал без ref'ов реализовать?
[15:57:52] <ygrek> с ref'ами лучше всего :)
[15:58:54] <ygrek> http://paste.in.ua/2859/
[15:59:13] komar вышел(а) из комнаты
[16:01:18] <ygrek> GC DIFF original : allocated     99.6MB, heap         0B, collection 0 0 99, elapsed 1.829 sec
GC DIFF for loop : allocated     65.6MB, heap         0B, collection 0 0 66, elapsed 0.501 sec
GC DIFF rec loop : allocated    199.1MB, heap         0B, collection 0 0 199, elapsed 0.518 sec
GC DIFF with ref : allocated       104B, heap         0B, collection 0 0 0, elapsed 0.419 sec
[16:03:44] ftrvxmtrx вышел(а) из комнаты
[16:04:23] ftrvxmtrx вошёл(а) в комнату
[16:06:22] <ygrek> хм, даже быстрее чем сишный стаб
[16:07:09] <gds> знать бы, что именно аллокейтит в string_starts_with_rec.
[16:08:18] <ygrek> замыкание
[16:09:34] <gds> может стоит вынести отдельно?
let rec loop str i =
  if i = len then true
  else if String.unsafe_get str i <> String.unsafe_get p i then false else loop str (i+1)
[16:11:14] <ygrek> помогает!
[16:11:30] <gds> чотко.
[16:12:57] <ygrek> что отлично, этот вариант не аллокейтит даже с -g
[16:13:10] <ygrek> спасибо! :)
[16:13:43] shaggie вошёл(а) в комнату
[16:13:49] <gds> не за что, чисто повезло :)  где-то в глубинах ассоциативной памяти было, и хрен знает, откуда и почему.
[16:14:17] <ygrek> всё правильно, не нужно замыкание делать
[16:14:30] <gds> а вообще клёво, что ты вышел на тропу войны с лишней работой мусорщика.  Глядишь, можно будет использовать extlib.
[16:15:11] <ygrek> пускай лягушатники лучше компилер фиксят
[16:15:27] <gds> это -- в идеале, конечно.
[16:54:08] <ygrek> а кто-то godi использует?
[17:38:20] arhibot вошёл(а) в комнату
[17:50:58] ermine молча выглядывает из-под выключенного вентилятора
[18:07:36] Typhon вошёл(а) в комнату
[18:32:30] mrm вошёл(а) в комнату
[18:36:57] arhibot вышел(а) из комнаты
[18:39:16] mrm вышел(а) из комнаты
[18:44:00] arhibot вошёл(а) в комнату
[18:51:16] delete_ вошёл(а) в комнату
[18:52:13] delete_ вышел(а) из комнаты
[19:04:55] ftrvxmtrx вышел(а) из комнаты
[19:05:41] ftrvxmtrx вошёл(а) в комнату
[19:06:30] shaggie вышел(а) из комнаты
[19:08:25] <gds> ну вот, что-то такое: https://bitbucket.org/gds/parvel/src/tip/typeinfo.mli + https://bitbucket.org/gds/parvel/src/tip/typeinfo.ml
[19:08:42] <gds> (это про "передача-сериализация", но пока без сериализации особо, но втаскивание нетипизированного жсона умеет)
[19:08:48] <gds> ((но не тестил))
[19:11:56] <gds> чорт, я же в шаббат работал!111
[19:17:53] <arhibot> (gds пишет на лиспе)
[19:19:39] arhibot вышел(а) из комнаты
[19:25:04] <gds> в непромышленных масштабах и иногда.  отсутствие типизации -- гемор.
[19:34:53] ftrvxmtrx вышел(а) из комнаты
[19:37:06] ftrvxmtrx вошёл(а) в комнату
[20:01:35] ftrvxmtrx вышел(а) из комнаты
[20:02:42] ftrvxmtrx вошёл(а) в комнату
[20:23:14] zinid вышел(а) из комнаты
[20:31:17] ygrek залил extlib 1.5.2 :)
[20:41:54] ad1862 вошёл(а) в комнату
[20:52:39] <ad1862> какой пароль у git@camlunity.ru ?
[20:56:12] ad1862 вышел(а) из комнаты
[20:57:23] ftrvxmtrx вышел(а) из комнаты
[20:57:42] <ygrek> ad1862: по ключу пускать должно
[20:59:49] ftrvxmtrx вошёл(а) в комнату
[21:07:05] <ermine> https://sites.google.com/site/ocamlgadt/ прекрасное дополнение к прыщу и гадт фор чайников
[21:07:41] <ermine> осталось придумать зачем это применять
[21:10:06] <ermine> интересно, unparsing получится сократить с помощью gadt?
[21:10:55] <ermine> а то, помню, как парилась, пытаясь в фолде построить всё выражение для печати из разнотипных кусочков
[21:11:02] <ermine> gds: ?
[21:13:38] <ermine> надо попробовать
[21:14:41] <gds> а хз, сходу unparsing не сократишь.  Описывал уже, какие вещи решаются через гадты.
[21:16:18] <ermine> gds: unparsing = (lit "aaa" (int float) id 1 1.1), а фолдом я пыталась склепать то же самое из [Lit "aaa"; Int; Float]
[21:16:51] <ermine> но поскольку в обычном камле все бранчи матчинга должны иметь один и тот же тип, я не победила
[21:16:57] <gds> у гадтов цель -- наоборот, специализировать тип конструируемого выражения.
[21:18:36] <ermine> ну насчет аргументов непонятно, да
[21:20:50] mrm вошёл(а) в комнату
[21:21:52] mrm вышел(а) из комнаты
[21:58:38] ad1862 вошёл(а) в комнату
[22:00:24] <ad1862> вобщем раскрашенные шпорки здесь http://ifolder.ru/25066714, всё остальное потом
[22:13:28] ad1862 вышел(а) из комнаты
[22:50:19] shaggie вошёл(а) в комнату
[22:54:49] <ygrek> poor man's allocation profiler:
for i in $(echo {1..100}) ; do sudo gdb -p $(pgrep mlnet) -n -q -ex 'set interactive off' -ex 'b caml_call_gc' -ex 'c' -ex 'bt' -ex 'c' -ex 'q' | grep '^#1' | cut -d ' ' -f 5 ; done | sort | uniq -c | sort -nr
[23:00:08] <ygrek> лучше:
for i in $(echo {1..100}) ; do sudo gdb -p $(pgrep mlnet) -batch -n -q -ex 'b caml_call_gc' -ex 'c' -ex 'bt' | grep '^#' | cut -d ' ' -f 5 | paste -s -d , ; done | sort | uniq -c | sort -nr
[23:01:00] <ygrek> но для вменяемых результатов нужен патч из PR#5314
[23:21:35] ygrek вышел(а) из комнаты: Replaced by new connection
[23:21:36] ygrek вошёл(а) в комнату
[23:27:23] ftrvxmtrx вышел(а) из комнаты
[23:28:27] ftrvxmtrx вошёл(а) в комнату
[23:55:05] <ygrek> пример результата - http://paste.in.ua/2861/
[23:55:29] <ygrek> вместо cut лучше awk '{print $4;}'
Powered by ejabberd Powered by Erlang Valid XHTML 1.0 Transitional Valid CSS!