Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
Snork

Оптимизация на уровне исходников

07.12.2007, 14:01. Показов 1291. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток!

Тут один коллега показал мне фишку, детскую, но я об ней не знал. В цикле, для оптимизации лучше использовать ++i, а не i++. Я подумал-подумал, и захотел такую утилиту: что-то вроде Replace in all files in project, чтоб вручную код не перелопачивать, но чтоб в ней были готовые фичи (шаблоны) как для оптимизации, так и для повышения удобочитаемости кода. И чтоб интегрировалась в VC++. Если у кого есть тулзы аналогичного назначения или хотя бы ссылки на них, подскажите!

Всего доброго, Снорк. [www.snorkonline.narod.ru] [snorkleg@mail.ru]
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.12.2007, 14:01
Ответы с готовыми решениями:

Типы оптимизация: черная оптимизация, серая оптимизация и белая оптимизация
Много много лет назад, на заре становления профессии "оптимизатора" в какой то умной книжке был создан миф. Это миф о цветовой индефикации...

Создает на n - уровне вложенный список, элементом которого на самом нижнем уровне является n
Я решил задачу так: CL-USER 1 > (defun f (l n) (cond (( eq n 0) l) ((null l) (f (list n) (- n 1))) (t (f (cons...

Оптимизация методом Ньютона (нахождение точки минимума). Оптимизация кода
MATLAB только начал осваивать. Попытался реализовать нахождение точки минимума методом Ньютона для функции 2*X12 - X1*X2 + 3*X22 -...

4
0 / 0 / 1
Регистрация: 04.11.2007
Сообщений: 35
07.12.2007, 15:15
В оптимизации кода довольно большого проекта на MSVC мне очень помог продукт NuMega TrueTime (www.numega.com) - профайлер встраиваемый в среду разработки MS VisualStudio.
Коротко - программа запускается под отладчиком (нарушения временных характеристик практически не влияют даже на продукты реального времени). Получаемая статистическая информация прекрасно визуализируется тут же в среде MSVC, вплоть до времени исполнения каждого оператора программы. Находим наиболее 'тяжелые' куски кода и начинаем искать пути оптимизации.
Результат достигается не путем замены i++ на ++i, а переосмысливанием алогитма работы программы. И результат ошеломляющий - n-кратное увеличение быстродействия!

P.S. TrueTime часто можно встретить на пиратских дисках.
0
1 / 1 / 5
Регистрация: 30.04.2007
Сообщений: 225
09.12.2007, 10:38
К слову... Работал я в одной организации, занимавшейся, помимо прочего, очень тяжелой трёхмерной графикой реального времени... Соответственно, была своя, выстраданная годами проб и ошибок, развесистая бибилиотека под это... И вот -- наконец-то! -- переносится эта библиотека на Visual C++. Ура, теперь есть тип bool, никто больше не будет путать целые числа и ноль-не ноль!.. Написали... Профилируют... Опять профилируют... Смотрят в ассемблер... Короче говоря, оказалось, что bool занимает один байт. Экономия, конечно, но с какой скоростью работает??

В общем, плюнули и заменили все булевские значения обратно на int-ы. И по сию пору так и живут.
0
Snork
09.12.2007, 14:17
За НуМегу спасибо, еще не смотрел, но посмотрю обязательно!
-------------------------------------
Хм, а что это была за 3D библиотека? Где-нибудь доступна? Очень хотса код посмотреть ;-). Сейчас объясню. Так мало инструментария под D3D и OpenGL! Вот к MFC и Stingray пишет extends, и Dundas, и еще 100 команд. А кляссеров-расширителей под 3Д не видел :-(. (SDK не считаются, это в моей аналогии сама MFC, а D3D и OGL - соответственно Win32API.)

С уважением, Снорк.
1 / 1 / 5
Регистрация: 30.04.2007
Сообщений: 225
10.12.2007, 17:07
Самопальная библиотека, заточенная под конкретную задачу (и даже конкретную видеокарточку, кажется...)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.12.2007, 17:07
Помогаю со студенческими работами здесь

Репозиторий исходников?
Собственно гугл не помог, потому как даже не понятно что искать и как это обозвать. Поэтому прошу помощи здесь, может кто-что знает или кто...

Компиляция исходников
Привет. Говорю сразу, в c# да и в общем в программировании мало чего понимаю, и здесь я лишь с одной задачей. У меня есть исходники,...

Поиск исходников
Очень прошу помощи в поиске исходника на C#, программы, которая строит графики и/или диаграммы. И еще очень нужен исходник программы,...

Дешифрирование из исходников
Нужно расшифровать вот это из CW local b='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/' function bec(data) ...

Сборка Qt из исходников
Доброго времени суток, помогите пожалуйста. Собираю Qt из исходников с поддержкой psql, делаю make и вылазят такие ошибки помогите решить...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru