31 августа 2008 · Комментарий

Без заголовка

Дело не в моде. За 20 лет что я занимаюсь программированием, частота процов выросла в 1000 раз, при этом частота памяти выросла раз в 30. Весь остальной рост идет за счет неявного использования параллелизма в программах. Его так и называют ILP - Internal(Implicit) Level Parallelism. Но сейчас перспективы роста как за счет повышения частоты, так и за счет ILP исчерпаны. При этом рост частоты конфликтует с ILP, напимер, можно частоту и выше Интеловских 3 ГГц сделать (ИБМ к примеру делает), но на таких скоростях процессор уже не сможет ILP эффективно извлекать. Единственный выход - использовать явный (или внешний) пареллелизм. Скажем для научных расчетов - это уже давно единственный вариант. Для обработки изображений, звука и видео - тоже. Алан Кей имеет в виду другое: большинство программ написаны ужасно неэффективно с точки зрения производительности. Этому способствует и хард, и софт, и методология разработки. Тут можно расчитывать на 1000 кратный рост эффективности. Но к критичным к производительности программам это не относится, они и так весьмма неплохо оптимизированны. В качестве примера могу привести ПХП - ужасно тормозная технология. Если прогу на ПХП тупо переписать на Джава, она раз в 5-10 будет быстрее работать. А если еще реализовать алгоритмы кэширования грамотно, которые в ПХП невозможны в силу архитектуры, то еще в несколько раз поднять скорость можно.

К записи · К обсуждению