Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2006.12.24;
Скачать: [xml.tar.bz2];

Вниз

Относительное время выполнения алгоритма   Найти похожие ветки 

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.044 c
2-1165250749
novex
2006-12-04 19:45
2006.12.24
Вычисления А в степени Х


15-1165225093
Krants
2006-12-04 12:38
2006.12.24
Относительное время выполнения алгоритма


15-1165225520
Piter
2006-12-04 12:45
2006.12.24
А сколько стоит бензин в США?


1-1163257920
gdaujk
2006-11-11 18:12
2006.12.24
Смена текста одного из контролов Open Dialog Box...


2-1165417135
alexa14
2006-12-06 17:58
2006.12.24
Значки в popupmenu





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский