Previous Entry Share Next Entry
2016-01

дыбр

Про здоровье. Восстановление после операции на носу проходит смешно. например, пока что нету вообще никакого обоняния, во-об-ще, даже на ядерный хрен и нашатырь - ноль реакции %)

Про computer science. Везде утверждают об одинаковой (с точностью до константы) стоимости lazy/eager evaluation, т.е. что построить дерево санков и потом его схлопнуть стоит столько же, сколько и посчитать это всё жадно - но ведь нет! что в теории, что в иерархиях стореджа (регистры-кэш-...) аллокация и даже просто pointer dereference стоят log N, где N - обьем используемой приложением RAM, следовательно, best-case для lazy evaluation будет C1 * N log N, супротив C2 * N для eager!

это уж не говоря о том, что куча софта в рамках оптимизаций закладывает максимальные размеры хипа как "N чего-то там хватит всем", что потом вызывает изрядный батхерт когда файлик, например, в 200 мбайт обрабатывается прекрасно, а в 210 мбайт падает (а если авторы еще и не подумали, то там случаются разные креативные heap corruption вместо "просто out of memory")

Про жизнь. Абсолютное большинство раз, когда я раздумываю над тем, чтобы что-то купить - это воскресенье или праздники. Ну, потому что не надо никуда бежать и можно полезть на сайт посмотреть, то-се.
Почему, при том что в наших широтах уже немало магазинов научились даже доставлять "за 2-3 часа" - в воскресенье никто не работает? Как раз в воскресенье удобно и встретить курьера же.

Реальный вопрос, конечно, не в магазине, а в том, чтобы склад работал в воскресенье, но... это же тоже не такая уж сложность, ну камон. Посадите туда одного человека, сделайте доставку +100 грн в воскресенье, в конце концов...

(Это я видеокарточку хотел заказать, а то HD 7870 уже всякое современное не тянет).

Кстати, про игры. вот последние несколько лет я в них почти не играю, и у меня уплыли фактические вкусы, а память о вкусах осталась старая. В итоге я что-то покупаю на стиме, ревьюшки там Overwhelmingly Positive - а оно не вставляет. Упс. Как бы так узнать, что мне теперь на самом деле нравится?

This entry was originally posted at http://wizzard.dreamwidth.org/476917.html. It has comment count unavailable comments. Please comment there using OpenID.

  • 1
dmih October 23rd, 2016
Lazy мне кажется хорошо в единственном случае - если потом вообще считать не придется. А особенно хорошо, если lazy преодолевает барьеры компонентов - тогда это именно то, что надо.
Другое дело, что платформа, которая так умеет, сама по себе жрет обычно гигабайт памяти на менеджемент такого счастья :)

olya_stopudiv October 23rd, 2016
про доставку в воскресенье. имхо, это нормально. все люди имеют право на выходной :)

wizzard0 October 23rd, 2016
Имеют. Как и на 1.5х/2х зарплату, если им вдруг хочется ее заработать (для воскресенья это даст прибавку в итоговом прайсе менее чем в 5%, которые можно вполне явной наценкой вписать, или на 1% если хочется фиксированную цену) и которые я бы с радостью заплатил в этом случае. с ночными намного сложнее, ночи увеличивают нагрузку втрое для всех дней, а это уже серьезно.

Edited at 2016-10-23 09:11 pm (UTC)

nponeccop October 24th, 2016
C премиум-услугами есть 2 проблемы:

а) не факт, что количество людей, которые не удавятся за 100 грн, позволит сделать воскресную доставку прибыльной

б) часто сами хозяева бизнеса доставки удавятся за 100 грн, поэтому считают что "а".

Программистам (и другим категориям богатеев) в Украине этом плане не везёт, потому что деньги есть, а потратить их некуда, поскольку все места ориентированы на предельно низкое качество.

surmenok October 23rd, 2016
Можно посадить туда работать отдельного человека, у которого выходной будет. скажем, в понедельник и вторник :)

anonim_legion October 28th, 2016
Есть уйма людей, которые работают посменно.

cn_mangetsu October 23rd, 2016
Про игры - а попробуйте смотреть трансляции. Конечно, нужно ещё найти нормального стримера, но впечатление от игры составить позволяет хорошо. (Ну, разве кроме совсем медитативных, вроде гьобальных стратегий)

wizzard0 October 23rd, 2016
Не.

bacr October 23rd, 2016
> максимальные размеры хипа как "N чего-то там хватит всем", что потом вызывает изрядный батхерт когда файлик, например, в 200 мбайт обрабатывается прекрасно, а в 210 мбайт падает

Это от того что (1) народ никогда не писал под real-time и (2) народ не пользуется очередями.

Из 1 следует 2, то есть использование ресурсов хорошо отслеживать когда архитектура вокруг очередей, а из 2 следует 1 и все остальное. Если есть перегрузка, то часть очереди (lossy enqueue) или всю очередь (flush) легко отправлять в мусор или наоборот больше распараллеливать где надо. Ну и архитектура должна учитывать и отслеживать что что то из очередей может теряться и это нормально, а если нельзя терять то по заполнениям очередей и счетчикам их обработчиков должно быть видно где узко.

wizzard0 October 23rd, 2016
очереди и опыт реалтайма действительно много где помогают, но не панацея, еще есть либы :(

sorhed October 23rd, 2016
Доставляют. За два-три часа. Коммунизм у вас там.

У нас среднее время локальной доставки из интернет-магазина — неделя (если это не еда, тогда — полтора-два дня). И все это полагают нормальным, потому что привычка делать всё заранее настолько въелась в швейцарскую культуру, что last minute тут считают невозможным и ненужным. Раздолбаям вроде меня с одной стороны тяжело, а с другой: ну, например, лыжи тут дешевле всего покупать в феврале-марте, можно взять за копейки: швейцарцы уже думают о купальниках и отпусках, а нормальным людям ещё два месяца минимум можно кататься. Билеты на самолёт дешевле всего за неделю и меньше, а дороже всего за месяц-полтора (кому они сдались за месяц-полтора?), и т.д.

soonts October 23rd, 2016
Про видеокарту — мне кажется HD 7870 должен пока ещё работать. Современные API вроде поддерживает. У меня GeForce 960, производительность очень близкая, твой HD 7870 считает 2.5 терафлопса, GTX 960 считает 2.3, производительностью в играх я доволен.
У тебя не 4K монитор случайно?

Про игры — индустрия по-моему в основном сиквелы делает щас. Во что играл несколько лет назад? Попробуй в версии N+2 того же самого.
Из недавно пройденного, прям очень понравились Witcher 3, GTA 5. Просто понравились — XCOM Enemy Unknown, Fallout 4.

wizzard0 October 24th, 2016
4k уже давно)

GTA после San Andreas мне не нравится, Witcher весь не нравится)))
Пока попробовал всякого, играю в Tropico 4 :)

soonts October 24th, 2016
Да, для 4K конечно намного мощнее нужны видеокарты.

Алсо, советую попробовать kerbal space program.

mixa_menshenin October 24th, 2016
Из игр на стиме могу посоветовать Craft the World. Еще могу посоветовать избегать игр с тэгом "инди".

wizzard0 October 24th, 2016
Хм, мне инди как раз хорошо идут... Посмотрю

bik_top October 24th, 2016
> мне инди как раз хорошо идут...

Играл в «The Witness» и «The Talos Principle»?

nponeccop October 24th, 2016
> построить дерево санков и потом его схлопнуть

ты что-то путаешь, нету такого. Тебя наверное гомоиконность попутала! Узлы дерева санков находятся в сегменте кода же, который O(1). Хинт: там же, где узлы дерева вызовов в CBV.

А в сегменте данных у нас столько же указателей, сколько и без санков

Санки играют роль дерева вызовов в CBV. Но потребление памяти в CBV пропорционально не общему числу вызовов (привет вызову функции в цикле!), а глубине дерева.

В этом плане CBN-программа создает дополнительное давление на память, которое пропорционально некоему ворксету, количеству незафоршенных санков в куче, а не общему количеству санков.

К примеру можно взять гиломорфизм - sum (enum 1 X). Который даже безо всяких оптимизаций занимает O(1) памяти. Санки-то выделяются, но на месте старых, т.е. N в формуле, учитывающей иерархию памяти, у нас здесь пропорционален интервалу сборки, а не X. Но это вырожденный пример для иллюстрации неравенства общего числа операций и давления на память санками. В древообразном случае ситуация будет похожа на CPS-реализацию CBV, или просто ситуацию, когда при CBV у нас много фунаргов.

Edited at 2016-10-24 07:06 pm (UTC)

wizzard0 October 27th, 2016
Количеству незафоршенных, да.

wizzard0 October 27th, 2016
Ну и фунарг у cbv это санок и есть. Я не про теоретическую эквивалентность, а про практический оверхед похожего кода в разных моделях.

nponeccop October 27th, 2016
рантайм-оверхед вполне может быть и теоретическим :)

Практический оверхед там - не давление на кеш, а давление на предсказатель косвенных переходов.

wizzard0 October 28th, 2016
Предсказание косвенных переходов дает 5х оверхед, а давление на кеш - 250х. Ну и с моим опытом это тоже согласуется

nponeccop October 28th, 2016
Мерять надо. Я считаю это априорно, из общих соображений - это бред (что GHC создает ощутимое дополнительное давление на кеш, с оверхедами я согласен).

Если ты просто сделаешь дерево - то санки будут там же, где и вершины. Причём их будет много только при обходе в ширину.

Кодовых санков (которые по сути те же санки дерева, но дерева вызовов) не так много "холодных", а "горячие" давят практически только на косвенные переходы.

Наверняка кто-то мерял, я спрошу на SO

Upd: оказалось гуглением можно найти статью 2009 года Cache Performance of Lazy Functional Programs on Current Hardware

Говорят что on Core 2 Quad 6600 processor .. we found that L2 cache misses now account for at most 20% in the worst case. Так что дальше можно обсуждать валидность их результатов.

Edited at 2016-10-28 03:36 pm (UTC)

  • 1
?

Log in