thedeemon: (office)
Dmitry Popov ([personal profile] thedeemon) wrote2014-10-16 05:39 pm
Entry tags:

времена

Открыл тут заметку.
Девайс с 1 GHz или около того процессором, 2д игрушка с 1 (одним, ОДНИМ!) маленьким движущимся объектом, и у людей возникают большие сложности с тем, чтобы получить хотя бы 25 кадров в секунду. Зато хаскель и FRP.Yampa, модно, молодежно.

[identity profile] nponeccop.livejournal.com 2014-10-16 10:46 am (UTC)(link)
К сожалению, современные компиляторы плохо устраняют абстракции, хотя заявляется обратное. Приходится (в определённых предметных областях) писать без них, что тоже плохо.

Короче, если писать с абстракциями - то в 2014 по-прежнему на выходе не код, а говно.

Даже с производительностью сборки мусора вопрос не закрыт окончательно.

Надо придумать такие абстракции, которые компилятор железно бы мог устранить без необходимости вложения 100500 тысяч человеколет. Интересно, есть ли работы в этом направлении.

[identity profile] macrop.livejournal.com 2014-10-16 11:02 am (UTC)(link)
Тест Степанова..
который STL придумал)) он вообще машины на низком уровне обажает

[identity profile] thedeemon.livejournal.com 2014-10-16 11:16 am (UTC)(link)
Ну в данном случае, по-моему, дело не в компиляторе или языке, а просто в самой организации игрового цикла они что-то чудовищно неправильное делают. Один пункт, где в каждом кадре какие-то текстуры туда-сюда конвертировали, они исправили, наверняка еще много похожих косяков осталось.

[identity profile] nponeccop.livejournal.com 2014-10-16 01:14 pm (UTC)(link)
> What if optimization was just normalization of lambda terms
> (i.e. indiscriminate inlining)?

Дальше читать не стал.

[identity profile] swizard.livejournal.com 2014-10-16 12:48 pm (UTC)(link)
> Надо придумать такие абстракции, которые компилятор железно бы мог устранить без необходимости вложения 100500 тысяч человеколет.

Макросы же, и edsl на них :)

[identity profile] nponeccop.livejournal.com 2014-10-16 01:16 pm (UTC)(link)
У макросов выходной код имеет тенденцию раздуваться

[identity profile] voidex.livejournal.com 2014-10-18 07:20 pm (UTC)(link)
А чем макросы принципиально отличаются от компиляции в данном вопросе?
Edited 2014-10-18 19:20 (UTC)

[identity profile] northas.livejournal.com 2014-11-05 11:24 am (UTC)(link)
Где то в 2000-2001 году была игра Severance: Blade Of Darkness. Написана почти целиком на Питоне, всё кроме рендера. Было там динамическое освещение от всего вообще (можно было взять в руку факел!), отражения в воде и катающиеся по лесенкам головы. Можно было даже динамически разрубить гоблина на 5 частей. Летало на Celeron с 433 мегагерц и GeForce440MX.
Проблема в хипстерстве.

[identity profile] dmytrish.livejournal.com 2014-10-16 11:52 am (UTC)(link)
Но зато когда показывают клон досовской игрушки на html5/js, который тоже выжимает похожие fps, на reddit и HN все наперебой восхищаются.

Впрочем, действительно неясно, правильно ли они инструментом пользуются. Зато антиреклама Хаскелю вышла сильная.

[identity profile] altmind.livejournal.com 2014-10-16 12:13 pm (UTC)(link)
вы не справедливы. там не только досовские игрушки, давно пробегала демка html5 UnrealEngine(citadel demo).

[identity profile] geniepro.livejournal.com 2014-10-17 04:43 am (UTC)(link)
FPS-игра Fraps, написанная на хаскеле, на древнем компе 60 fps выдавал...

[identity profile] thedeemon.livejournal.com 2014-10-17 05:16 am (UTC)(link)
Ага, только Frag. Fraps - это программа для захвата экрана.
Я не сомневаюсь, что и на планшете можно иметь много-много фпс на хаскеле, если хоть немного мозг применять. Но те ребята что-то не стали.

[identity profile] geniepro.livejournal.com 2014-10-17 06:37 am (UTC)(link)
Да, Frag, перепутал названия...
Помнится, там периодически возникала маленькая пауза (из-за сборщика мусора, наверное) -- очень на нервы действовала ((

[identity profile] http://users.livejournal.com/_slw/ 2014-10-17 11:22 am (UTC)(link)
на древнем -- это на Pentium-I 90Mhz 16MB?

[identity profile] urod.livejournal.com 2014-10-27 09:00 am (UTC)(link)
"Have you noticed how many easy things in other languages become research problems when you try to write them in Haskell?"