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

Про оптимизацию

27.01.2016, 11:34. Показов 566. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не брался за c++ лет 10. За это время произошло много интересного. Например кажется начали использовать математический сопроцессор (Если это так, то это очевидное решение надо было реализовать лет 20 назад).Компьютер нот (2Ггцx2Ггб) Создаю цикл 500(500{......}) В нем считаю синусы, минусы, косинусы, корни. Время выполнения 26 тиков(команда rdtsc). Предполагая, что меня обманывают пишу синусы в цикле в массив. Ага, время увеличилось до 200-300 тыс тиков, но такое же время занимает расчет минусов, откуда делаю вывод, что время идет на доступ к массиву. На компьютере послабее этого(1.5x512)только пустой цикл мотается 1-1,5 мс. а здесь 26 тиков. Это чего двойной разименнованный перегруженный указатель на функцию имплементированного класса получается? Можно писать внутри много всего и все будет 26 тиков, но предел есть и какой-то непонятный. Ступенька прироста времени получается если чего-то и где-то в цикле приписать, пока логику не понял. Вопросы: как это использовать и как с этим бороться?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.01.2016, 11:34
Ответы с готовыми решениями:

Вопрос про оптимизацию кода
Вот код uses SysUtils; type music=record re:integer; bd:tdatetime; sname:string; kurs:byte;

Нужен совет про оптимизацию
Доброго всем времени суток! У меня есть сайт http://kosmos-x.net.ru/ Тематика :Космос,нло,аномалии Но с поисковиков упорно не хотят...

Пара вопросов про оптимизацию в поисковиках
1. можно ли иклудить код гугл адсенса из внешнего файла? include_once("googleAds.txt"); 2. будут ли индексировать поисковики мои...

6
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
27.01.2016, 11:58
Цитата Сообщение от Serg2016_1 Посмотреть сообщение
пока логику не понял
Чтобы оценить эффект оптимизации, нужно смотреть сгенерированный ассемблерный код.
И делать это только в Release (т.к. в конфигурации Debug оптимизации отключены и в
код вставляется масса разнообразных проверок). Бывает, что компилятор предвычислит
какое-то выражение еще на этапе компиляции и зашивает его результат в exe.
Бывает, что какие-то части кода вообще выбрасываются, т.к. компилятор видит, что
результат вычислений нигде не используется. Яркий пример - пустой цикл.
0
0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 60
27.01.2016, 14:26  [ТС]
Медленно ползу в сторону дебаггера. А пока ещё одно замечание. Предположим тот-же цикл. В нем часть выполняется 1 мс., приписываю ещё одну часть (независимую от первой), которая тоже выполняется ~1 мс. 1+1=2 ))))))))))))))))))) На деле оказывается раз в 10 больше...

Добавлено через 43 минуты
И ещё замечание. Мелкие пропагандируют теперь использование циклов в таких местах где логично было бы использовать memcpy, например заполнение массива текстуры в directx. Логично предположить, что циклы теперь выполняются ничто, раньше попробуй побрезгать асмом........

Добавлено через 48 минут
Пересмотрел все и пришел к выводу, что это опять леший водит. Умножение оказалось в 4 раза медленней вычитания, а в прошлый раз я где-то прогляделся, но дыма без огня нет и все мои наблюдения ещё под вопросом... И потом код на приведенных в пример компьютерах различается по времени в тиках раз в 10. Тут конечно причин может быть много. Но что-то есть. И ещё новые игрушки с приставкой HD, например Panzer HD (Я полагаю здесь HD=SVGA), а на старых компьютерах не тянет в хлам...
0
Эксперт по математике/физике
 Аватар для SSC
3390 / 1913 / 571
Регистрация: 09.04.2015
Сообщений: 5,365
27.01.2016, 14:38
Цитата Сообщение от Serg2016_1 Посмотреть сообщение
Например кажется начали использовать математический сопроцессор (Если это так, то это очевидное решение надо было реализовать лет 20 назад).
В 1989 году (27 лет назад) писал программы на С и Fortrane для IBM PC (286 процессор) и уже тогда использовал сопроцессор. Для компьютеров без сопроцессора компилировался свой EXE-модуль.

Добавлено через 4 минуты
Цитата Сообщение от Serg2016_1 Посмотреть сообщение
Умножение оказалось в 4 раза медленней вычитания
Длительность операции умножения зависит от величин множителей
0
0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 60
27.01.2016, 14:50  [ТС]
Я про то что наступило светлое будущее и время выполнения арифметических операций стало 0, но это оказалось лешием )) Ничто не выведет из меня мечтателя. А современные видеокарты считают за 1/60 сек 250тыс полигонов, вот если-бы это на арифметические операции грамотно потратить.........
0
2 / 2 / 0
Регистрация: 12.04.2015
Сообщений: 24
28.01.2016, 13:13
Serg2016_1,
Цитата Сообщение от Serg2016_1 Посмотреть сообщение
Например кажется начали использовать математический сопроцессор
SSC,
Я тоже не смог пройти мимо этой фразы. Кажется, последним компом, который использовал чел, был какой-то 80286, ибо только у них еще сохранялось разделение между ALU и FPU. Да и уже на 80286 этот самый FPU можно было использовать. Может, чел работал только с 8086?
Serg2016_1,
Не обижайтесь, мы по-доброму. Вам хочется потрындеть, вот и мы вас в этом всецело поддерживаем, как видите.
0
0 / 0 / 1
Регистрация: 24.12.2015
Сообщений: 60
28.01.2016, 13:24  [ТС]
Да нет, я и не обижаюсь (это не я )))), нет повода. Просто сопроцессор никогда не работал как это хотелось-бы. Т.е. время математических операций 0. А тут....... Ну вообщем прогляделся походу,но всё же чего-то есть. Если я говорю, что у меня нет компьютера, подразумевая, что у меня 286 компьютер это же не значит, что у меня его нет...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
28.01.2016, 13:24
Помогаю со студенческими работами здесь

И снова про PopupMenu (было про длину, теперь про ширину)
Добавляем в пустое PopupMenu несколько пунктов динамически (шириной, например, до 50 символов). Отображаем его – всё нормально. Затем...

Задача на оптимизацию
Помогите, пожалуйста, решить задачу! Условия задачи в картинке. Заранее спасибо!

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

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

Зaдaча на оптимизацию
Всем привет! Помогите выполнить вот такую вот задачку: ...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
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