On Wed, Jun 07, 2006 at 02:22:58PM +0300, Led wrote: > > Я готов пояснить. Есть задачи, типа просмотра видео, где абсолютные > > потребности производительности оцениваются исходя из того, что нужно > > успеть сделать "в секунду". Если успеваем разжать сколько нужно в > > секунду, то дальнейшая оптимизация более или менее бесполезна (а > > ассемблерная оптимизация даже вредна). BLAS и сжатие видео как раз к > > этому классу приложений НЕ относятся, потому что в случае с научными > > расчетами или сжатием видео "слишком быстро" не бывает. Эти задачи не > > привязаны к реалтайму, то есть "не лимитированы абсолютными > > потребностями реалтайма". > > Ещё раз: необходимость сжатия видео именно в реалтайме - реальная и часто > встречающаяся задача! Я об этом не подумал. Но я написал, о чем я подумал: о том, что не вижу mplayer в верхних строчках top, когда он играет видео. > Ещё раз: "быстрее не надо" в том случае, если у вас однопользовательская и/или > однозадачная ОС, то есть в╕ всегда работаете в системе один и делаете > одновременно что либо ТОЛЬКО одно: либо смотрите видео, либо смотрите, как > что-то компилится, либо смотрите на меняющиеся циферки видеокодера:) В многопользовательской системе производительность упирается прежде всего в IO, а не в процессор. Так как nice от дисковой активность не помогает. По крайней мере так было на ядрах 2.4. > > Для второго класса задач очевидных абсолютных оценок нет (научные > > расчеты могут иметь произвольную сложность), поэтому для них > > актуальность оптимизации остается, и ассемблерные вставки можно > > оправдать. В частности, BLAS сейчас собран с ассемблерными вставками. > > AFAIK в gcc тоже есть асемблерные вставки. Дело не в асм-вставках, а в том как > и ПРАВИЛЬНО делать. Так вот, из рекомендаций по ПРАВИЛЬНОСТИ асм-вставок > самая "конкретная" - "перепишите асм-код правильно" :) asm-вставки делать концептуально неправильно. Получается плохо поддерживаемый и непереносимый код. Если же выигрыш получается значительным, то это нужно доказать, исходя из 1) относительного прироста производительности; 2) абсолютных потребностей в производительности; 2) класса решаемых задач.