Скорость работы программ



Предыдущая | Следующая

я для себя ответил на этот вопрос так.
оперативная память работает с скоростью 11 гигабайт в секунду (обмен данными с процесором);
дисковая подсистема 500 или 150 мегабайт, но данные с диска сперва читаются в оперативную память, а уже потом их обрабатывает процессор (зато диск намного больше);
сеть работает чаще всего 12.5 мегабайт в секунду (зато интернет по размеру бесконечен :)
—-
При этом получив пачку записей не всегда значит, что они у вас в памяти, например, я всегда через pdo по одной считываю и понятия не имею какие данные БД закешировала и бросила в оперативную, а какие каждый раз с диска считывает;
также многие ЯП работают со своим вариантом менеджера памяти, который почти всегда медленный и почти никогда не зависит от программиста (сборка мусора у java);
также надо помнить, совреенные ЯП вообще имеют уйму накладных расходов, идея экономии на считывания с дикса более логична на пуре С, асм, других компилируемых ЯП (fpc, delphi). Например, в php утиная типизация (каждая переменная большая по размеру), все модули грузятся одновременно при каждом запуске скрипта, язык ориентирован на короткие скрипты, в том числе и работа с кучей в памяти под это оптимизировано. Я чаще борюсь лишними переменными в памяти, когда пишу cli приложение, которое запущу на неделю.
А вот на fpc я всегда старался заранее загнать в оперативку всё, что может понадобится.
—-
Обратитие внимание на большие игры экшены. Они всегда сперва загружают ресурсы в оперативку.