Инструменты для оптимизации в с++ [требует правки]

325
06 августа 2017, 08:20

Я сейчас изучаю С++ и люблю всё оптимизировать. На Python это сложно сделать, а на С и С++ в самый раз. Желательно библиотеки для измерения быстродействия программы и сколько весит тот или иной тип в С++.

P.S. OC Linux дистрибутив Manjaro(arch)

Answer 1

Очень рекомендую вышедшую в этом году книгу - "Оптимизация программ на С++" Курта Гантерота.

По первому вопросу - в C++ к вашим услугам библиотека <chrono>. Пока вы не скажете подробности об операционной системе, нет смысла говорить о каких-то системозависимых вещах. Впрочем, у Гантерота этот вопрос разобран очень неплохо.

По второму - sizeof(type) даст вам размер типа - у текущего компилятора, при текущем выравнивании и т.д.

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

И главное - учтите, что главная оптимизация - это правильно подобрать алгоритм, так что не проходите мимо этой темы. Оптимизировать O(n^2) до O(n) при наличии решения O(1) (пробегал тут недавно такой вопрос :)) - это не оптимизация... Тем более глупо ускорение при помощи какого-нибудь ассемблера плохого алгоритма...

READ ALSO
средства ввода\вывода

средства ввода\вывода

Товарищи,ситуация такая : у меня есть файл json в котором описана структураФункция ReadEntrants читает файл и возвращает строку wchar_t

296
Творческое заимствование?

Творческое заимствование?

Добрый день, у меня проблема не могу вытащить слайдер товаров из этой бутcтреповской темыПереношу в проект css и скрипты master-slider, но все равно...

477
mysql правильное хранение платежей

mysql правильное хранение платежей

Возник следующий вопрос: сервис продает определенные услугиУ каждой услуги есть несколько цен со своим сроком действия

332
MariaDB + Galera: запросы зависают в статусе query end

MariaDB + Galera: запросы зависают в статусе query end

Всем привет! Есть кластер (2 ноды + 1 арбитратор)Запросы на него идут через maxscale proxy, настроенную таким образом, чтобы все запросы (и чтения и записи)...

296