![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#11 | ||
Пользователь
Регистрация: 05.05.2011
Сообщений: 35
|
![]() Цитата:
Цитата:
Okay, пошел mov it mov it (( |
||
![]() |
![]() |
![]() |
#12 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,844
|
![]()
При беглом просмотре кода так и не понял, зачем понадобилось хранить промежуточные результаты вычислений в виде строк.
В разработке: воспроизводственный контур ИТ
|
![]() |
![]() |
![]() |
#13 |
Форумчанин
Регистрация: 15.02.2008
Сообщений: 621
|
![]()
Для простенького итератора достаточно знать базис. А так еще раз повторюсь сперва на перво необходимо избавиться от ресурсоемких операций.
Помог? Ну так нажми на весы!
![]() |
![]() |
![]() |
![]() |
#14 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]()
в плоский байт код - имеется ввиду
структура с линейным исполнением (0..n) с минимальным ветвлением (т.е. без тучного кейза) и заранее выстроенной последовательностью вычислений, в которой максимально развернуты все предварительные вычисления (приведение типов констант StrToFloat), а по возможности свернуты математические операции с ними (например x*2/10 превращается в x/5) можно предвычислять формулу т.к. 2 из координат меняются гораздо реже например f=x+y+z превратится в цикле по y в f=2+y можно поискать другие вычисляторы
Не стесняемся, плюсуем!
![]() Последний раз редактировалось Slym; 15.01.2013 в 05:45. |
![]() |
![]() |
![]() |
#15 | |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]() Цитата:
перепроверил почти двукратный прирост скорости дайте формулу, а то тестируюсь на +x+yz
Не стесняемся, плюсуем!
![]() Последний раз редактировалось Slym; 15.01.2013 в 09:02. |
|
![]() |
![]() |
![]() |
#16 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,844
|
![]()
Я бы еще посоветовал перейти от динамического массива к чему-то TList и задать ему Capacity равной или даже превышающей глубину вложений при вычислениях, чтобы исключить перераспределение памяти, которое тоже очень медленно.
В разработке: воспроизводственный контур ИТ
|
![]() |
![]() |
![]() |
#17 | |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]() Цитата:
кстати добился 3х кратного прироста скорости
Не стесняемся, плюсуем!
![]() Последний раз редактировалось Slym; 15.01.2013 в 09:41. |
|
![]() |
![]() |
![]() |
#18 |
Пользователь
Регистрация: 05.05.2011
Сообщений: 35
|
![]()
Идея для оптимизации: процедурный тип.
Код:
Последний раз редактировалось Григоренко Степан; 17.01.2013 в 16:14. |
![]() |
![]() |
![]() |
#19 |
Просветитель
Участник клуба
Регистрация: 26.12.2012
Сообщений: 1,844
|
![]()
Я сейчас скажу глупость, но вызов процедуры по косвенному (сохраненному) адресу медленней, чем простой вызов с case. Вариант с case хорошо укладывается в кэш процессора и дает работу предсказателю переходов, а косвенный вызов наоборот, сбрасывает конвейер.
В разработке: воспроизводственный контур ИТ
|
![]() |
![]() |
![]() |
#20 | |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]() Цитата:
и вот тут нужна целевая формула которую автар упорно не хочет показывать мой вариант не супер кардинально оптимизированный быстрее почти в 4 раза приложение тест внизу Код:
Не стесняемся, плюсуем!
![]() Последний раз редактировалось Slym; 18.01.2013 в 06:18. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Автозапуск приложения. Но вопрос совсем не про автозапуск приложения. | avd | Общие вопросы Delphi | 4 | 30.08.2012 22:24 |
После запуска приложения из службы созданной на C# не отображается иконка приложения | dmail1976 | Общие вопросы .NET | 1 | 22.09.2011 13:38 |
Делаю сайты, пишу маленькие/большие скрипты. Пишу веб-приложения и приложения под Windows. | SkyM@n | Фриланс | 3 | 29.12.2007 16:21 |