|
Snork
|
|
Оптимизация на уровне исходников07.12.2007, 14:01. Показов 1291. Ответов 4
Метки нет (Все метки)
Доброе время суток!
Тут один коллега показал мне фишку, детскую, но я об ней не знал. В цикле, для оптимизации лучше использовать ++i, а не i++. Я подумал-подумал, и захотел такую утилиту: что-то вроде Replace in all files in project, чтоб вручную код не перелопачивать, но чтоб в ней были готовые фичи (шаблоны) как для оптимизации, так и для повышения удобочитаемости кода. И чтоб интегрировалась в VC++. Если у кого есть тулзы аналогичного назначения или хотя бы ссылки на них, подскажите! Всего доброго, Снорк. [www.snorkonline.narod.ru] [snorkleg@mail.ru] |
|
| 07.12.2007, 14:01 | |
|
Ответы с готовыми решениями:
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
|
|
| 10.12.2007, 17:07 | |
|
Помогаю со студенческими работами здесь
5
Репозиторий исходников? Компиляция исходников Поиск исходников Дешифрирование из исходников Сборка Qt из исходников Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Уведомление о неверно выбранном значении справочника
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/
|