|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Victor Wagner 2:5020/400 15 Nov 2002 21:36:42 To : "Ilya Teterin" Subject : Re: компиляция ядра -------------------------------------------------------------------------------- Ilya Teterin <alien@npp-integris.ru> wrote: IT> Fri Nov 15 2002 20:11, Victor Wagner wrote to "Ilya Teterin": IT>>> Вынос процедуры в shared library - это сложный процесс? А ничего IT>>> другого и не требуется. Hу да ладно, остановимся на версии, что я IT>>> дурак, а там видно будет. VW>> Боюсь, что за счет потребного в этом случае -fPIC ты потеряешь гораздо VW>> больше в скорости, чем выиграешь за счет оптимизации. Hу мало у VW>> интеловского процессора регистров, мало. IT> Переход в shared library должен находиться в некритичной части кода. Hу и что? В shared library-то окажется как раз критичный код. И при оптимизации этого самого критичного кода у компилятора будет на один регистр в распоряжении меньше. Ведь что делает -fPIC. Он указывает что данный конкретный код должен уметь исполняться, будучи загружен с любого адреса, следовательно все переходы нужно делать относительно некоего регистра, куда вызвавший код этот самый адрес и положит. А если компилировать shared library без -fPIC, она будет нифига не shared, потому что динамическому загрузчику придется там смещения патчить, со всеми последствиями ввиде cow. И производительность системы при запуске многих программ, использующих данную shared library, одновременно, просядет из-за напрасного использования памяти для многих копий этой библиотеки. Подозреваю, что при 10-20 юзерах того же OpenOffice она просядет за счет этого эффекта сильнее, чем выиграет за счет оптимизации. Hе забывайте, что здесь у нас не винды, а многозадачная система (и многопользовательская к тому же). Поэтому оптимизируя производительность конкретной программы, следует не забывать обо всех остальных. Винды может быть технически и многозадачная система, но практически в них юзверя почему-то все равно одно приложение на полный экран открывают, и пользуются ей как старым добрым МакОсом. В котором (до версии X) многозадачности не было. -- http://www.communiware.ru http://www.ice.ru/~vitus --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/151788d5c8ba0.html, оценка из 5, голосов 10
|