The OpenNET Project / Index page

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



"Выпуск утилиты для резервного копирования rclone 1.35"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Заметили полезную информацию ? Пожалуйста добавьте в FAQ на WIKI.
. "Выпуск утилиты для резервного копирования rclone 1.35" +/
Сообщение от Mihail Zenkov (ok), 04-Янв-17, 22:29 
> Это "побочное" действие имеет свойство выносить туеву хучу кода.

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

Больше всего выбрасывает -ffunction-sections -fdata-sections + -Wl,--gc-sections так как выкидывает неиспользуемые функции и данные целиком.

>> Я специально не проверял, но думаю это вполне вероятно при агрессивной оптимизации
>> и большом количестве мелких функций.
> Если код мелкий то хорошо работает: код не пухнет но ускоряется.

Зависит от того какой код. Допустим 10% уходило на вызов + сохранение + восстановление регистров. Мы инлайним эту функцию  10-100 раз - код растет.

> И у gcc вроде есть анализы когда и что выгоднее.

AFAIK зависит от агрессивности оптимизации, сам он точно рассчитать и предсказать не может. Для этого нужно исполнить код с типичными данными на входе. У gcc есть и такой режим (забыл как он называется).

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

Не всегда. Например большая функция на несколько страниц с switch на кучу case. Она может быть разбита и преобразована в десятки мелких функций.

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

Оглавление
Выпуск утилиты для резервного копирования rclone 1.35, opennews, 03-Янв-17, 10:12  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



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

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