> В сообщении от Суббота 16 октября 2010 18:20:39 автор Н. Артём написал:
> > > >   Затем, что они используются в скриптах инициализации, в правилах udev,
> > > >   во всех остальных скриптах. И т.д. Т.е., если с каждого будет
> > > >   небольшой, незаметный прирост, в сумме, теоретически, может кое-что
> > > >   набраться.
> > >  Не должно.
> >  Почему?
> > > > > >    Они используются в скриптах. Повсеместно.
> > > > >   Используются. А при чём тут использование процессорной мощности?
> > > >   См. выше. "Скорость работы", по-идее, может увеличиться?
> > >  Пересобирать каждую новую версию придётся сильно дольше, чем выигранные
> > >  миллисекунды.
> >  Ну не так часто они и обновляются. А насчёт миллисекунд - вовсе не факт. В
> >  i386 нет даже MMX. Я не знаю как оптимизирует gcc, но множество операций,
> >  которые к мультимедиа никаким боком, гораздо быстрее исполняются, если их
> >  код генерируется с использованием команд MMX расширения. А уж если
> >  говорить о более новых расширениях... По-моему, тут нельзя без замеров
> >  однозначно сказать...
> Вам не мерить всякую фигню надо, а почитать про векторные расширения.
Блин, сколько сижу на своём старье, ни разу про них не слышал. Почитаю. Но 
сомневаюсь, что в P4 это есть. В P3 - нет на 100% (если, конечно, книжки не 
врут и у него внезапно не оказалось такой недокументированной возможности).

Сейчас посмотрел. Понял: это и есть SSE о котором я толком ничего не знаю...

> Основной смысл этих расширений.
> В процессор добавлены большие регистры (128бит и более) куда можно кинуть 
> много небольших переменных и за раз что-то с ними сделать.
> Допустим вы складываете в цикле n-e кол-во 16битных целых. Программист может 
> написать код, который использует эту возможность.
Честно, не думаю, что программисты будут этим заниматься. По крайней мере, для 
неспецифического ПО. Вот если компилятор умеет оптимизировать так, что их 
задействует...

> Ежели программист просто напишет плюсик, то в дело вступает компилятор. Ежели 
> компилятору скажут, что можно использовать mmx, sse и прочие векторные 
> расширения, то из программного кода он попытается вычленить те, куски, 
> которые можно векторизировать. Даже в простейшем случае, приведенном выше, 
> компилятор не будет знать что делать.
> А вдруг под кол-вом итераций (n) скрывается малое 
> число (1-15)?
> Компилятор, если возьмется векторизировать, должен отсечь кол-во итераций 
> меньше 8 и досчитывать их без расширений(или добивать нулями).
> Будет работать этот код быстрее или медленнее - неизвестно. В реальном же 
> коде если программист не подстраивался под компилятор, то компилятор вообще 
> почти ничего не поймет. Запихнет эти инструкции в десятке-другом мест, причем 
> с неизвестным результатом.
Именно gcc?

> Про зачатки векторизации в компиляторе gcc можно почитать сдесь 
> http://gcc.gnu.org/projects/tree-ssa/vectorization.html
Почитаю.


-- 
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/486071287248...@web60.yandex.ru

Ответить