Главная страница
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.114 c
15-1165047870
Pazitron_Brain
2006-12-02 11:24
2006.12.24
Почему не продают процессоры Cell?


11-1141994068
avs
2006-03-10 15:34
2006.12.24
Kol 2.34


2-1165467738
Roman_ln
2006-12-07 08:02
2006.12.24
Работа с датой


4-1155593723
Sergey_FV
2006-08-15 02:15
2006.12.24
Quick Launch под NT


2-1165236164
RebroFF
2006-12-04 15:42
2006.12.24
Вычисления с датами