Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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.51 MB
Время: 0.058 c
2-1165500423
AlexeyT
2006-12-07 17:07
2006.12.24
Заставить ScrollBox реагировать на перетаскивание ползунка?


6-1145029943
AT
2006-04-14 19:52
2006.12.24
как оборвать тсп соединение


15-1164907180
TUser
2006-11-30 20:19
2006.12.24
Все не по правилам


15-1165203590
Slider007
2006-12-04 06:39
2006.12.24
С днем рождения ! 4 декабря


2-1165478865
VitalZ
2006-12-07 11:07
2006.12.24
Работа с чужим приложением