Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Возврат к началу switch - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Изменение размера созданного вектора http://www.cyberforum.ru/cpp-beginners/thread1164450.html
Как изменить размер вектора? Например, проводим какие-нибудь вычисления и результатов получилось больше, чем размер вектора. Как в таком случаи увеличить вектор?
C++ Проверить список запущенных процессов на наличие нужного Задача: 1. Все просто - проверить список запущенных процессов на наличие нужного мне процесса , если найден возвращаем правду если не найден выходим , ВНИМАНИЕ!!! функцию нужно вызывать постоянно ,... http://www.cyberforum.ru/cpp-beginners/thread1164449.html
Sublime text 2 + MinGW не получается настроить C++
Все делал по теме: http://www.cyberforum.ru/blogs/390663/blog1982.html Или этот способ не подходит для Sublime text 2? Нажимаю Ctrl+B или Ctrl+Shift+B ничего не происходит, только появляется пустая...
C++ Задать определенное число итераций
Здравствуйте! Сижу и пытаюсь разбираться с методами оптимизации, алгоритмы осилила, теперь новая проблема, мне метод необходимо "прогнать" определенное число раз и тот ответ, что получу вывести. Не...
C++ Написать программу, которая считывает текст из файла и выводит на экран строки, содержащие двоичные числа http://www.cyberforum.ru/cpp-beginners/thread1164426.html
Помогите пожалуйста написать программу в CodeBlocks: Написать программу, которая считывает текст из файла и выводит на экран строки, содержащие двоичные числа. Буду очень...
C++ Как получить доступ к элементам вектора Нашел вот такой код. А вот как получить доступ к элементам вектора? FILE *ToWrite = fopen("C:\\result.txt", "w+"); list<string> ids; char s; while(true) { fgets(s, 20,... подробнее

Показать сообщение отдельно
DrOffset
7154 / 4295 / 971
Регистрация: 30.01.2014
Сообщений: 7,100
04.05.2014, 01:53
В общем, я для ясности хочу вот что добавить.
1) Я знаю, что компилятор может не встроить функцию.
2) Я знаю, что теоретически эти примеры могли бы быть совсем разными (если взять какой-нибудь gcc 2.95 - это точно будет так)
3) Я знаю, что рассчитывать только на компилятор и писать говнокод в надежде на оптимизацию - это плохо.
Но, я так же знаю, что:
1) "Преждевременная оптимизация корень всех зол".
2) Современные компиляторы достаточно умны, чтобы генерировать оптимальный машинный код из кода с приемлемым количеством абстракций, увеличивающих читаемость. Т.е. не обязательно сейчас (в 2014 году), имея современные инструменты, писать приближенный к ассемблеру код, как это было принято раньше. Однако это не значит, что это дает нам право впадать в крайности (см п.3 первого абзаца).

В общем, пойнт в том, что код который дал Tulosba НЕ является крайностью и НЕ является гонокодом, т.к. содержит минимальный необходимый набор абстракций для увеличения читаемости кода, но в то же время позволяет компилятору провести все необходимые оптимизации на том же уровне, что и в коде без таких абстракций. Это то, чего достигла современная индустрия, мы теперь можем писать чуть более высокоуровневый код, без опасения, что он будет неоптимален. В конце концов текст программы пишется и для человека тоже. Его потом нужно сопровождать и понимать другим людям.
Поэтому сейчас всем известные классики пишут, и я с ними согласен на 100%, что если не дано специальных условий, приемлемым подходом будет писать код максимально точно описывающий и решающий задачу, а не код, который будет выигрывать такты и байты, при этом маскируя и размазывая алгоритм в своих деталях (за деревьями не видно леса - пословица очень в тему). А решение об оптимизации принимать уже после профилирования.
2
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru