The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Началось формирование 32-разрядых Linux-сборок браузера Vivaldi"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Для сортировки сообщений в нити по дате нажмите "Сортировка по времени, UBB".
. "Началось формирование 32-разрядых Linux-сборок браузера Viva..." +/
Сообщение от Mihail Zenkov (ok), 18-Фев-15, 00:36 
> Но перед каждым вызовом подфункции придётся этот регистр сохранять в стеке а
> потом - восстанавливать, иначе вызываемая функция может этот регистр перезатереть. Либо,
> если соглашение о вызове другое, сохранять в стеке модифицируемые регистры придётся
> самой вызываемой функции. Но в любом случае это запись в стек.

Не совсем так - если рассматривать самый простой случай (один поток, без прерываний), компилятор просто передаст регистр(ы) в качестве аргумента вызываемой функции и постарается использовать еще не задействованные регистры. Тут их количество и сыграет решающую роль.

> inline-функции это действительно оптимизируют, но... неужели inline-функции (в том числе
> те, что компилятор сам заинлайнил) действительно дают настолько большой эффект?

На микроконтроллерах inline - просто сказка, без него о нормальной скорости можно забыть.

На pc - эффект может быть разный, смотря что именно удалось встроить/развернуть. Например сборка pango с -march=native -mmmx -msse -msse2 -msse3 -msse4a -O3 -mfpmath=sse дает двукратный приросты в gtkperf на тесте текста. Что там точно происходит я не изучал. А так в среднем прирост 5-10%. Но тут конечно больше автовекторизация дает эффект.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Началось формирование 32-разрядых Linux-сборок браузера Vivaldi, opennews, 17-Фев-15, 19:30  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру