![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#21 | ||
Старожил
Регистрация: 20.04.2008
Сообщений: 5,543
|
![]() Цитата:
Правильно для загрузки второго операнда. Так давайте загружать его в тех ветках где он нужен. Код:
Код:
Код:
Цитата:
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 18.01.2013 в 09:57. |
||
![]() |
![]() |
![]() |
#22 |
Участник клуба
Регистрация: 07.12.2011
Сообщений: 1,025
|
![]()
тоже думал про инлайн пупа для двухоперандовых операций, будет быстрее, но что то остановило
проверил - влияет незначительно (на 5 секундных вычислениях выигрыш 0,1), поэтому оставил как есть переделал в инлайн кстати да пуп надо в функцию заделать у вот пушит результ можно как у меня 1 раз в конце, но ты протести всой вариант и выложи сюда сколько выйграл
Не стесняемся, плюсуем!
![]() Последний раз редактировалось Slym; 18.01.2013 в 11:28. |
![]() |
![]() |
![]() |
#23 | ||
Пользователь
Регистрация: 05.05.2011
Сообщений: 35
|
![]() Цитата:
Я тестировал на промежуточном варианте - уравнение сферы x^2+y^2+z^2 , конуса x^2+y^2-z^2 или мути типа sin(x*z-cos(y))+cos(z). Вообще эта прога должна строить поверхность уровня любой неявно заданной функции в определенном объеме. Неоптимальность многих кусков проистекает оттого, что прога основана на другой проге, "Визуализация функций от 3 переменных методом сечения", которую я делал 2 года назад. Кому интересно, может посмотреть, что я там наворочал, однако возможен обильный facepalm Цитата:
Последний раз редактировалось Григоренко Степан; 19.01.2013 в 17:44. |
||
![]() |
![]() |
![]() |
#24 |
Пользователь
Регистрация: 05.05.2011
Сообщений: 35
|
![]()
Метод товарища Слима дал прирост в скорости от 5 до 6.5 раз, метод через процедурный тип пока не пробовал, попробую после экзамена
|
![]() |
![]() |
![]() |
#25 |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]()
Всё ни как руки не дотягивались (а ноги не доходили) ответить по этой теме. Короче вот чё накропал:
1. процедурные типы рулят 2. record case - для элементов "формулы" 3. const array - для списка операторов 4. ссылки на элементы динамического списка - для переменных Исходник на Delphi XE3: Обратная польская запись.zip P.S.: Сразу извиняюсь за отсутствие комментов (ну там и так всё понятно ![]() |
![]() |
![]() |
![]() |
#26 |
Пользователь
Регистрация: 05.05.2011
Сообщений: 35
|
![]()
Да, вы сказали глупость
![]() ![]() Пруф: x^2+y^2+z^2=9 Изначально: 1,2278 9,32 74,7 251,4 Через кейс: 0,2346 1,86 14,7 49,46 Через п.т. : 0,0674 0,55 4,40 14,94 cos(x)+cos(y)+cos(z)=1 Изначально: 0,789 6,35 50,46 170 Через кейс: 0,122 0,96 7,714 26,0 Через п.т. : 0,066 0,53 4,205 14,2 Проверял на 2 функциях, Первая строка - то, что было до оптимизации, вторая - оптимизированный кейс, третья - оптимизация через процедурный тип. Четыре колонки чисел - пуски для разного количества точек (50^3, 100^3, 200^3, 300^3 соответственно, при 300 в кубе точек прога жрет гиг оперативы ![]() Последний раз редактировалось Григоренко Степан; 22.01.2013 в 17:38. |
![]() |
![]() |
![]() |
#27 | |
Тот ещё
Старожил
Регистрация: 14.11.2007
Сообщений: 2,242
|
![]() Цитата:
Код:
Если да, то это FloatToStr и тормозит всю работу. |
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Автозапуск приложения. Но вопрос совсем не про автозапуск приложения. | 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 |