Home
codingteam
codingteam@conference.jabber.ru
13.09.2013< ^ >

Тема: C/С++, Haskell, Ruby, Python, Perl, Lisp, Erlang, OCaml, JavaScript, Scala, Nemerle, F#.
Код выкладывать на http://dumpz.org
Вопросы задавать в чат, а не в личку.
Логи: http://tinyurl.com/ctcjr-logs
Упоминания о Flash, Java, .NET, PHP, Pascal/Delphi/Borland, 1С караются съеданием поциента.
Личкрафты: http://leechcraft.org и git://github.com/0xd34df00d/leechcraft.git
Horta Hell: https://github.com/ForNeVeR/horta-hell
Проблем решено: 0x15
Говорящих демонов: 0x1

=> Объявляется неделя народного дивана.
[00:08:54] eaeee зашёл в конференцию
[00:28:36] eaeee вышел из конференции
[01:25:28] пкщгяут[slacktop] зашёл в конференцию
[01:39:46] Wint зашёл в конференцию
[01:40:36] <Wint> живые остались?:)
[01:40:42] <Wint> привет всем
[01:41:42] <Wint> :(
[01:42:08] <Wint> пичалька
[02:59:51] yesyes вышел из конференции: Computer went to sleep
[03:10:56] Graf зашёл в конференцию
[03:20:41] Serpentes зашёл в конференцию
[03:20:53] <Serpentes> утро
[03:31:27] Graf вышел из конференции
[03:32:42] Graf зашёл в конференцию
[04:14:39] Wint вышел из конференции
[04:55:11] 0xd34df00d вышел из конференции
[05:22:23] <ForNeVeR> Смерть!
[05:39:52] Serpentes вышел из конференции
[08:08:53] <emu-nero~> ваистену.
[08:28:20] emu-nero~ вышел из конференции
[08:33:06] Serpentes зашёл в конференцию
[08:40:59] magog вышел из конференции
[08:44:18] 0xd34df00d зашёл в конференцию
[09:14:22] Myp зашёл в конференцию
[09:20:54] emu-nero~ зашёл в конференцию
[09:34:16] <Serpentes> С праздничком!!!
[09:45:30] magog зашёл в конференцию
[09:59:49] OttoGan зашёл в конференцию
[10:07:22] Myp вышел из конференции
[10:10:41] Myp зашёл в конференцию
[10:50:56] swagman вышел из конференции: Я использую Miranda IM (http://miranda-im.org/.)
[10:56:22] <emu-nero~> утро праздника.
[11:10:12] swagman зашёл в конференцию
[11:32:39] Myp вышел из конференции
[12:03:39] none зашёл в конференцию
[12:16:19] Graf вышел из конференции: Replaced by new connection
[12:16:19] Graf зашёл в конференцию
[12:37:58] emu-nero~ вышел из конференции
[12:43:28] yesyes зашёл в конференцию
[12:46:31] пкщгяут[slacktop] вышел из конференции
[12:52:03] emu-nero~ зашёл в конференцию
[12:58:00] Graf вышел из конференции
[13:01:03] Graf зашёл в конференцию
[13:07:02] пкщгяут[slacktop] зашёл в конференцию
[13:11:31] Myp зашёл в конференцию
[13:11:59] Graf вышел из конференции
[13:18:01] cutwater зашёл в конференцию
[13:19:03] <j123123> http://pastebin.com/TjHUBLEg еще одно мое "фундаментальное" исследование в области языков программирования
[13:19:12] <j123123> ForNeVeR: Можешь ознакомиться
[13:23:37] <Glorious Chaplain of the Hortamarines> j123123: поздравляю, ты придумал контракты
[13:25:44] <Glorious Chaplain of the Hortamarines> а чистота
[13:25:59] <Glorious Chaplain of the Hortamarines> ну, она в достаточно ограниченном количестве случаев нужна
[13:26:21] <Glorious Chaplain of the Hortamarines> и в чуть менее ограниченном количестве случаев вообще хоть как-то полезна
[13:28:00] <j123123> Суть в том, что применение контрактов тут позволяет менять порядок вызова функций, если они не меняют те данные, от которых зависит результат работы друг друга
[13:28:26] <j123123> ленивота типа.
[13:29:27] <j123123> т.е. если какая-то функция пишет в такую-то область памяти, то вызвать мы ее можем как раз перед той функцией, которой для работы нужен тот кусок памяти
[13:29:49] <Glorious Chaplain of the Hortamarines> ага
[13:30:01] <Glorious Chaplain of the Hortamarines> а профит от этого в том, что...
[13:30:03] <Glorious Chaplain of the Hortamarines> ?
[13:30:29] <Glorious Chaplain of the Hortamarines> когда я последний раз проверял, от перемены мест слагаемых сумма не менялась
[13:32:38] <Glorious Chaplain of the Hortamarines> зато можно при компиляции определять, какие функции могут невозбранно сосуществовать в одном стековом кадре
[13:33:11] <Glorious Chaplain of the Hortamarines> хотя тогда и профит от их перетасовывания появится, да
[13:33:31] <j123123> Профит в том, что если функция A меняет память, которую функция B использует для вычислений, и если функция B не вызывается, то и функция A вызвана не будет, ибо незачем. Она будет вызвана только тогда, когда внезапно появляется функция, которая зависит от работы функции A
[13:33:36] OttoGan вышел из конференции: Logged out
[13:34:10] <Glorious Chaplain of the Hortamarines> ага
[13:35:23] <emu-nero~> дохуябукв
[13:35:25] <Glorious Chaplain of the Hortamarines> только выглядеть это скорей всего будет как-то так:
if(надо_посчитать()) { A(somebuffer); B(somebuffer); }
[13:36:36] <Glorious Chaplain of the Hortamarines> так что сильно тут сэкономить ничего не выйдет
[13:40:19] <Glorious Chaplain of the Hortamarines> но вообще, использование контрактов для оптимизации -- это не слишком распаханное поле
[13:40:47] <Glorious Chaplain of the Hortamarines> так что можно и что-нибудь поинтересней придумать
[13:42:43] <Glorious Chaplain of the Hortamarines> только это все равно будет ближе к суперкомпиляции, чем к бАнальной оптимизации
[13:43:42] <Glorious Chaplain of the Hortamarines> ну и опять же, контракты -- это метаданные
[13:45:10] <Glorious Chaplain of the Hortamarines> платформы/языки, в которых можно прикреплять к программным единицам какие-то метаданные, не имеют особой потребности в агрессивной оптимизации
[13:46:01] <Glorious Chaplain of the Hortamarines> а те, которые от более агрессивной оптимизации могут поиметь неиллюзорный профит -- не умеют в метаданные
[14:11:56] OttoGan зашёл в конференцию
[14:14:07] Glorious Chaplain of the Hortamarines вышел из конференции
[14:27:26] <j123123> Еще это позволяет распараллеливать те функици, которые друг от друга не зависят
[14:30:33] <j123123> например, функции A нужна область памяти, которую меняют функции B, C, D и функции B, C, D никак не меняют данные друг друга и не зависят от работы друг от друга. Таким образом, когда вызывается функция A, эти функции B, C, D можно параллельно считать т.к. они взаимно чистые
[14:37:23] <emu-nero~> :E
[14:37:53] <j123123> можно построить дерево зависимостей по данным (какие функции используют области памяти, которые меняется другими) и на основе этого дерева можно параллельно их вызывать
[14:43:53] <ForNeVeR> j123123: куда больший интерес представляет вопрос, когда их *целесообразно* вызывать параллельно.
[14:44:14] <ForNeVeR> Так-то можно, конечно, и (2+2) в выражении (2+2)+(2+2) параллельно считать.
[15:03:01] <j123123> Просто пометить(добавить метаданных), что эта функция достаточно сложная для вычисления, чтобы под ее можно было выделять поток
[15:04:24] <j123123> а если считать в отдельном потоке (2+2) то это понятное дело не окупится
[15:04:27] <ForNeVeR> Лущ пускай конпилятор бы сам делал такие выводы.
[15:04:52] <j123123> Если он для этого достаточно умный
[15:04:58] <ForNeVeR> Даже в PLINQ есть какие-то простейшие эвристики.
[15:05:13] <ForNeVeR> Правда, это не компилятор, а рантайм. И, само собой, работает не вполне эффективно.
[15:17:04] <emu-nero~> http://grompe.org.ru/static/prog_comp_matrix_ru.html
[15:20:05] <ForNeVeR> Таблица холиварная.</thread>
[15:20:20] * emu-nero~ еще не читал её
[15:27:52] <emu-nero~> кароч
[15:27:58] <emu-nero~> по этой таблцие -- я ницточжество :(
[15:28:47] <Myp> emu-nero~: Не переживай, на вот http://vimeo.com/74025061
[15:30:53] <emu-nero~> чзнх.
[15:31:24] <Myp> emu-nero~: Окулус же
[15:31:47] <Myp> Дополненная реальность и все такое.
[15:32:13] <emu-nero~> с такой хернёй она переписанная, а не дополненная.
[15:42:25] <j123123> хуета
[15:42:51] <Myp> поэтому и сняли этот трололоролик
[15:43:34] magog вышел из конференции: Replaced by new connection
[15:43:34] magog зашёл в конференцию
[15:59:48] cutwater вышел из конференции
[16:06:23] moonhawk зашёл в конференцию
[17:00:54] <j123123> Можно еще с мемоизацией сделать
[17:02:29] OttoGan вышел из конференции: Logged out
[17:14:28] moonhawk вышел из конференции
[17:19:23] moonhawk зашёл в конференцию
[17:24:30] SolarRay зашёл в конференцию
[17:25:31] antares0 зашёл в конференцию
[17:41:57] antares0 вышел из конференции
[17:52:36] Myp вышел из конференции
[18:02:42] <j123123> https://github.com/ldc-developers еще такая хрень есть
[18:02:50] <j123123> LLVM-based D compiler projectъ
[18:17:07] <j123123> Надо дальше прорабатывать концепцию принципиально нового языка программирования, лол
[18:34:27] <j123123> Что касается стрикт алиасинга в сишке http://cellperformance.beyond3d.com/articles/2006/06/understanding-strict-aliasing.html
[18:34:52] <j123123> Там компилятор делает какие-то допущения, что указатели разных типов никогда не указывают в одно место
[18:35:45] <j123123> Тут, я так думаю, тоже имеет смысл делать какие-то дополнительные метаданные по поводу того, может или не может указатель указывать на какую-то штуку
[18:40:09] sss|zombie зашёл в конференцию
[18:40:39] sss|zombie вышел из конференции
[18:41:45] sss|zombie зашёл в конференцию
[18:41:45] sss|zombie вышел из конференции
[18:41:47] sss|zombie зашёл в конференцию
[19:00:03] magog вышел из конференции
[19:05:27] emu-nero~ вышел из конференции: Replaced by new connection
[19:05:28] emu-nero~ зашёл в конференцию
[19:06:06] Graf зашёл в конференцию
[19:08:03] Graf вышел из конференции
[19:09:14] пкщгяут[slacktop] вышел из конференции
[19:45:21] sss|zombie вышел из конференции
[19:48:46] sss|zombie зашёл в конференцию
[20:04:12] emu-nero~ вышел из конференции
[20:09:20] yesyes вышел из конференции
[20:10:16] yesyes зашёл в конференцию
[20:12:19] goodstuff зашёл в конференцию
[20:19:58] SolarRay вышел из конференции
[20:31:57] swagman вышел из конференции: Я использую Miranda IM (http://miranda-im.org/.)
[20:48:47] Serpentes вышел из конференции: Replaced by new connection
[20:54:00] пкщгяут[slacktop] зашёл в конференцию
[20:54:06] пкщгяут[slacktop] вышел из конференции
[20:54:19] none вышел из конференции: ..
[20:55:12] пкщгяут[slacktop] зашёл в конференцию
[21:00:05] Serpentes зашёл в конференцию
[21:13:54] Glorious Chaplain of the Hortamarines зашёл в конференцию
[21:38:21] O01eg вышел из конференции
[21:38:56] O01eg зашёл в конференцию
[21:39:50] eaeee зашёл в конференцию
[21:51:25] Serpentes вышел из конференции
[22:17:19] Myp зашёл в конференцию
[22:18:06] Myp вышел из конференции
[22:18:36] Myp зашёл в конференцию
[22:30:54] magog зашёл в конференцию
[23:06:52] enaken зашёл в конференцию
[23:16:09] swagman зашёл в конференцию
[23:18:09] enaken вышел из конференции
[23:28:27] enaken зашёл в конференцию
[23:28:52] enaken вышел из конференции
[23:29:43] goodstuff вышел из конференции
[23:56:42] moonhawk вышел из конференции
Powered by freQ Powered by Python Valid XHTML 1.0 Transitional Valid CSS!