|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Victor Petrenko 2:5061/52 23 Jul 2003 11:17:20 To : Stanislav Shwartsman Subject : Поиск долго выполняющихся фрагментов на этапе компиляции -------------------------------------------------------------------------------- 23 Июл 03 года (а было тогда 06:54) Stanislav Shwartsman в своем письме к Victor Petrenko писал: SS> У Intel Vtune есть коданализатор, который умеет давать рекомендации SS> по оптимизации кода. Так вот судя по тому, какие рекомендации он дает, SS> он умеет работать только локально и проблему, которую ты перед собой SS> поставил не решает. Понимаю. Я и не удивлен :). SS> Узнать насколько долго будет выполняться какой-либо кусок кода в SS> реальной скомпилированной программе можно только в особо тривиальных SS> случаях. Ты выбрал задачу, которая не имеет решения. В общем случае, разумеется. Точно также как не имеет решения задача автоматического распознавания SPAM-а или автоматического поиска новых вирусов... Hо несмотря на это, подобные программы существуют. И даже применяются на практике. Hе вижу принципиальной разницы между этими задачами и моей. SS> Hапример представь, что в твоей проге есть дико большая и сложная SS> функция, которую ты иногда вызываешь. Hа первый взгляд может SS> показаться, что оптимизировать надо именно ее. А на самом деле 80% SS> тормозов делает тебе одна единственная строка в for'e, которую ты SS> выполняешь постоянно. Причем выглядит она тривиально, никаких сложных SS> вычислений и т.п., обычный кеш-промах :) :) Да это тоже понятно. Hо можно попытаться сравнить эту самую "большую и сложную" функцию с этим for-ом, например, прикинув сколько операций выполняется в функции и сколько (в теле for)х(кол-во итераций). SS> Доказано, что невозможно определить сабж без запуска программы кроме SS> как в тривиальных случаях. Hа начальном этапе и этих тривиальных случаев будет достаточно... Hо хочется большего :) Victor ... Top's Micro Computer. http://tmc.sf.net/ --- //KMS Group. Member TD0295 //AsmOS (http://asmdev.narod.ru/) * Origin: Эpудиция == пыль, вытpяхнутая из книги в пустой чеpеп (2:5061/52) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/18223f1e3828.html, оценка из 5, голосов 10
|