Текущий архив: 2006.12.24;
Скачать: CL | DM;
Вниз
Относительное время выполнения алгоритма Найти похожие ветки
← →
Krants (2006-12-04 12:38) [0]Можно ли как-нибудь определять "программное время" выполнения задачи, конечно глупо звучит, но под "программным временем" имеется ввиду время выполнения задачи независимое от среды выполнения(ОС, хар-ки ПК, работа др. прог. и пр.), т.е. для одинаковых задач, с од. переменными и данными "прог. время" будет одинаково где бы они не выполнялась.
← →
Jeer © (2006-12-04 12:40) [1]
> Krants (04.12.06 12:38)
Нельзя.
Время выполнения зависит от среды.
Вот мозг, например, - фиг поймешь как он задачи решает, да и среда у всех одна, а даже решения разные, не то что скорость.
← →
Сергей М. © (2006-12-04 12:41) [2]
> время выполнения задачи независимое от среды выполнения
Так не бывает.
← →
Сергей М. © (2006-12-04 12:47) [3]
> Jeer © (04.12.06 12:40) [1]
Да что там мозг !)
Все даже более прозаично и печально - никогда нельзя быть уверенным в том, что заяц преодолеет некое расстояние быстрей улитки, что груженую дынями арбу ишак довезет медленней чем любой "железный конь")
← →
Alx2 © (2006-12-04 13:07) [4]>Krants (04.12.06 12:38)
Что-то похожее на подобное "время" называется сложностью. Оно считается независимо от исполняющей среды и обычно оценивает зависимость колчества затраченных ресурсов в разных случаях от входных данных.
← →
Krants (2006-12-04 13:21) [5]
> Alx2 ©
От теории к практике, имеет ли Делфа подобные возможности? Может ли она охарактеризовать возможности ПК, ее ОС, загруженность мозгов... и преобразовать в "сложность"?
← →
oxffff © (2006-12-04 13:27) [6]
> Krants (04.12.06 13:21) [5]
>
> > Alx2 ©
>
> От теории к практике, имеет ли Делфа подобные возможности?
> Может ли она охарактеризовать возможности ПК, ее ОС, загруженность
> мозгов... и преобразовать в "сложность"?
Процетию автора темы
ЗВУЧИТ ГЛУПО.
← →
Alx2 © (2006-12-04 13:27) [7]>Krants (04.12.06 13:21)
Нет, насколько я помню.
Такая задача решается анализом алгоритма.
http://www.yandex.ru/yandsearch?rpt=rad&text=%EF%EE%ED%FF%F2%E8%E5+%F1%EB%EE%E6%ED%EE%F1%F2%E8+%E0%EB%E3%EE%F0%E8%F2%EC%E0
← →
oxffff © (2006-12-04 13:32) [8]
> Krants (04.12.06 12:38)
> Можно ли как-нибудь определять "программное время" выполнения
> задачи, конечно глупо звучит, но под "программным временем"
> имеется ввиду время выполнения задачи независимое от среды
> выполнения(ОС, хар-ки ПК, работа др. прог. и пр.), т.е.
> для одинаковых задач, с од. переменными и данными "прог.
> время" будет одинаково где бы они не выполнялась.
Берешь код на ассемблере.
В зависимости от процессора вычисляешь количество тактов процессора.
Если есть обмен с ОС.
Добавляешь количество тактов на Contex Switch + функция OC
Вот тебе и "идеальное время".
← →
oxffff © (2006-12-04 13:34) [9]Естественно Context Switch
← →
oxffff © (2006-12-04 13:45) [10]Под Context Switch понимать не task switch,
а исключительно переход в режим ядра
То есть в случае Windows вызовы
int 2E
либо разновидности fast call вызовов
← →
Anatoly Podgoretsky © (2006-12-04 13:48) [11]> oxffff (04.12.2006 13:32:08) [8]
> В зависимости от процессора вычисляешь количество тактов процессора.
Чего?
Например в последних версиях 32 битных Пентиума до 5 команд на один такт.
В тоже время по таблице требуется 60 тактов.
Если смотреть по 486 и Пентиум Про, то второй на порядок быстрее должен работать, ан нет резко проигрывал на 16 битных задачах и 8 битных операциях.
Бессмыленно считать в попугаях.
← →
oxffff © (2006-12-04 13:58) [12]
> Anatoly Podgoretsky © (04.12.06 13:48) [11]
> > oxffff (04.12.2006 13:32:08) [8]
>
> > В зависимости от процессора вычисляешь количество тактов
> процессора.
>
> Чего?
> Например в последних версиях 32 битных Пентиума до 5 команд
> на один такт.
> В тоже время по таблице требуется 60 тактов.
> Если смотреть по 486 и Пентиум Про, то второй на порядок
> быстрее должен работать, ан нет резко проигрывал на 16 битных
> задачах и 8 битных операциях.
>
> Бессмыленно считать в попугаях.
Правильно.
Я уже об инстанцировании результата на
"конкретном процессоре и ОС".
Машинный код брать за исходные данные.
Инстанцировании результата это Расчет тактов на конктретном процессоре и ОС.
>Например в последних версиях 32 битных Пентиума до 5 команд на один >такт.
Пентиумов уже нет. Есть CORE 2 DUO и его FUSION механизм.
Ждем K8L в 2-3 квартале 2007.
← →
Сергей М. © (2006-12-04 13:59) [13]
> oxffff © (04.12.06 13:32) [8]
Если уж на то пошло, зачем такие сложности ?
kerneltime + usertime
← →
oxffff © (2006-12-04 14:02) [14]Причем этот результат будет "идеальным".
← →
Anatoly Podgoretsky © (2006-12-04 14:56) [15]> Сергей М. (04.12.2006 13:59:13) [13]
В вопросе - с учетом дисковой системы.
← →
vrem (2006-12-04 20:18) [16]взять время, за которое на любом компьютере
задача дважды выполнится.
поставить на это время таймер,
результат выдавать когда закончит таймер считать
будет одинаково
← →
Anatoly Podgoretsky © (2006-12-04 21:03) [17]> vrem (04.12.2006 20:18:16) [16]
Не факт.
← →
oldman © (2006-12-04 21:14) [18]
> имеется ввиду время выполнения задачи независимое от среды
> выполнения(ОС, хар-ки ПК, работа др. прог. и пр.), т.е.
> для одинаковых задач, с од. переменными и данными "прог.
> время" будет одинаково где бы они не выполнялась
Однозначно - НЕТ!!!
Страницы: 1 вся ветка
Текущий архив: 2006.12.24;
Скачать: CL | DM;
Память: 0.49 MB
Время: 0.031 c