ypq: (Default)
[personal profile] ypq
я, конечно, давно не программист, но прекрасно помню как надо писать некоторые вещи. основные принципы. например, что из цикла надо выносить наружу какие-то присвоения переменным, которые остаются константами в цикле.

просто вспомнил историю с нашими доморощенными кодерами. когда все жаловались, что прикладуха тормозит. а кодер уверял, что "ну расклад такой". и что "у меня не тормозит...". потом ребята, которые за БД следят посмотрели логи, спрашивают: а чего это к базе столько запросов одинаковых? оказалось, этому деятелю надо было значение переменной получить из бвзы и потом эту переменную задействовать в цикле. дык он для тестов просто константу подставлял. в цикле. видимо, тормоза и не ощущались.

а недавно уже другой деятель наваял... тоже его прилада чот тормозит. но тут вроде с БД оно не работает... потом пользователи глянули на загрузку процессора - вот и процессорного времени программа жрет чота много. спецы по Винде глянули логи - говорят: твоя программа регистри постоянно дергает! накойхер вообще?! дык и тут, оказывается, деятель вместо того, чтобы дернуть регистри один раз при старте, запомнить это где-то в переменной, постоянно в своей говнопрограмме лазит за этой КОНСТАНТОЙ в систему! и в цикле, в том числе...

первого, помнится, уволили. но он особо не переживал - переехал в Москву, устроился куда-то, чуть ли не в Яндекс. набрал портфолио: программирует на разных языках, знает БД.

(no subject)

Date: 2025-12-29 13:38 (UTC)
juan_gandhi: (Default)
From: [personal profile] juan_gandhi
Программисты сильно отупели, конечно, за эти годы - но и системы... на Блакберри был такой приём на джаве - нельзя объявлять значение final, т.к. блакберри все константы держит на флеше, поэтому каждый раз при использовании константы (хотя бы и π) оно лезет на флеш. Такие дела.

(no subject)

Date: 2025-12-29 15:09 (UTC)
sobriquet9: (Default)
From: [personal profile] sobriquet9

Нонче оптимизирующие компиляторы могут определить, кто там в цикле инвариант и вынести за цикл самостоятельно. Особенно если им помочь, определив переменную как const. Это вообще полезное умолчание, почти все переменные объявлять константами и менять значение только тех переменных, которым это действительно нужно (индекс, указатель на текущий элемент и т.п.)

Но если значение снаружи приходит, из SQL запроса или registry, тогда компилятор не может знать, что оно не меняется. И тогда случается описанная задница.

(no subject)

Date: 2025-12-29 20:16 (UTC)
sab123: (Default)
From: [personal profile] sab123
Вот именно в это верят типовые Программисты На Джаве: что компилятор все магически соптимизирует.
Page generated 2026-Feb-23, Monday 18:21
Powered by Dreamwidth Studios