|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
04.08.2017, 16:12 | #41 |
Пользователь
Регистрация: 05.12.2015
Сообщений: 27
|
Алекс, в принципе я кое в чем согласен, возможно и не стоит париться. Я когда делал проверки (а их я для кучи вариантов проводил), то действительно, наиболее сильный вариант - это goto с условием if EndCondition^ then exit;
Просто я предполагаю, тут уже по опыту, что есть теоретическая возможность как-то отследить положение "курсора считывания" и кинуть его в конец процедуры извне ее. К чему это приведет? Условие if отпадает как ненужное, что уже уменьшит число ненужных сравнений как минимум в 100 раз, у меня программа построена таковым образом, что повторений может быть и больше (не расчетов, а проверки условия if, перед тем, как выйти). Это-то меня и заставляет искать различные возможности, ведь если получиться, то (тут я уже предполагаю) можно добиться десятикратного увеличения производительности, а это существенно. Резюме: не хочется оставлять эту задачу недобитой, хочется разобрать по полочкам и вынести вердикт, ведь в любом случае, я не один с ней столкнулся, поможет мне, поможет и другим. |
04.08.2017, 16:41 | #42 | ||
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
Цитата:
Есть еще один вариант: поменять алгоритм. |
||
04.08.2017, 17:04 | #43 |
Пользователь
Регистрация: 05.12.2015
Сообщений: 27
|
p51x, в принципе я вашу идею понял, как вариант отдельно рассмотрю.
Что касается алгоритма, то я в постоянном поиске, потому-то эту тему и поднял. |
04.08.2017, 17:13 | #44 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
Деловто пишете с if. Потом if выносите из цикла.
Или другой вариант конечный аатомат собрать.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
04.08.2017, 17:19 | #45 |
Пользователь
Регистрация: 05.12.2015
Сообщений: 27
|
|
04.08.2017, 18:53 | #46 |
Лис
Старожил
Регистрация: 18.09.2015
Сообщений: 2,409
|
В каждом случае это решается индивидуально. Как математическими задачами в школе.
Пусть есть такой код Код:
Код:
sqr(x-cx)+sqr(y-cy)=sqr(r) sqr(x-cx)=sqr(r)-sqr(y-cy) x-cx=±sqrt(sqr(r)-sqr(y-cy)); x=cx±sqrt(sqr(r)-sqr(y-cy)); Код:
Код:
Другие примеры можно посмотреть в лекциях: http://www.intuit.ru/studies/courses...2/lecture/5556
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
У дзен программиста программа делает то что он хотел, а не то что он написал . |
04.08.2017, 19:41 | #47 |
Пользователь
Регистрация: 05.12.2015
Сообщений: 27
|
Pavia, спасибо конечно большое за совет... просто специфика задачи несколько другая)
в моей программе в том ответственном коде some2 не используется цикл for как таковой по той причине, что он тормознутый) |
04.08.2017, 19:46 | #48 | |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Цитата:
|
|
04.08.2017, 19:53 | #49 |
Пользователь
Регистрация: 05.12.2015
Сообщений: 27
|
Вы от меня что хотите узнать? я понял ваш комментарий, если сказать более интересного нечего, то незачем писать. ясен красен, что в машинных кодах эти циклы практически одинаковы
|
04.08.2017, 20:08 | #50 |
Старожил
Регистрация: 15.02.2010
Сообщений: 15,709
|
Это открытый форум. Здесь может писать, кто угодно, пока не нарушает правили или законы. Так что закрой рот, а то я и послать могу.
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передача одной процедуры другой в качестве входящего параметра | ProRockX | Общие вопросы Delphi | 2 | 02.10.2015 11:32 |
Не могу найти контрол из одной процедуры в другой | ChoKavo | C# (си шарп) | 1 | 18.10.2014 13:34 |
Использование имени процедуры в качестве параметра другой процедуры | Alexey355 | Помощь студентам | 1 | 23.04.2011 13:59 |
Вызов одной процедуры из другой | artemavd | Общие вопросы Delphi | 11 | 26.11.2010 17:37 |
Ошибка вызова одной процедуры в другой! | $T@LKER | БД в Delphi | 4 | 28.04.2010 19:50 |