Главная страница
    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.035 c
15-1164544074
Aldor_
2006-11-26 15:27
2006.12.24
Как описывают протоколы информационного обмена?


15-1165001984
Ne-Ld
2006-12-01 22:39
2006.12.24
Какие могут быть траблы при пересечении Белорусской границы?


2-1165574777
ГореПрограммер
2006-12-08 13:46
2006.12.24
работа с TChart


2-1165480897
Lera
2006-12-07 11:41
2006.12.24
Переход на следующую строку в текстовом поле


15-1165070881
dzmitry[li]
2006-12-02 17:48
2006.12.24
Пульт ДУ для компьютера





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский