![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| UnrealMan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
Можешь по-русски внятно объяснить, что ты сейчас замерил и какие результаты получил?
|
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
times определяет системное время (время работы процесса в режиме ядра: обработка прерываний, системные вызовы) и пользовательское время (время работы процесса вне режима ядра, т. е то, что нам и нужно узнать)
нам необходимо пользовательское время оно равно в первом случае 0 минут и 0.795 секунды во втором - 0 минут и 0.601 секунды -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| UnrealMan |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
Т.е. ты хочешь сказать, что время, затрачиваемое на выполнение вот этого кода
составляет чуть ли не секунду? |
||||||
|
|||||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
UnrealMan,
нет это совокупное время работы процесса вне режима ядра которое включает в себя в частности время выполнения данного участка кода -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| UnrealMan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
И сколько же времени затрачивается на выполнение данного участка кода (а ведь именно это нас интересует, не так ли?.. вернее, даже только часть этого участка, связанная с вычислением typeid и сравнением)? Это сообщение отредактировал(а) UnrealMan - 7.11.2007, 20:38 |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
UnrealMan,
какая разница? остальной код в обоих случаях идентичен поэтому он не влияет на общий результат грубо говоря B + T1 = A1 B + T2 = A2 T1 - время выполнения участка кода в первом случае T2 - во-втором B - время выполнения остального кода на B можно сократить, при этом общее время уменьшится на B т. е относительный результат будут тем же, но общее время уменьшится -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| UnrealMan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
Твои познания в математике просто поражают |
|||
|
||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
и в чем я не прав? по существу можешь что-нибудь сказать? Это сообщение отредактировал(а) MAKCim - 7.11.2007, 22:30 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Думаю, в этом: "Остальной код" не обязан в обоих случаях выполняться одинаковое кол-во времени. -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| UnrealMan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
Ты издеваешься что ли? Хорошо, скажу по существу. На современном компе typeid(С) == typeid(*a1) в среднем вычислится меньше, чем за микросекунду (результатов выполнения своего теста я ждал несколько секунд, а там по паре миллиардов итераций). Соответственно твои замеры одного-единственного вычисления (где время исчисляется миллисекундами Теперь немного о математике. С каких это пор слагаемые при делении стало возможным сокращать? Это сообщение отредактировал(а) UnrealMan - 7.11.2007, 23:00 |
|||
|
||||
| archimed7592 |
|
|||
![]() Архимед ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2531 Регистрация: 12.6.2004 Где: Moscow Репутация: 58 Всего: 93 |
Ты о вычитании уравнений что-нибудь слышал -------------------- If you have an apple and I have an apple and we exchange apples then you and I will still each have one apple. But if you have an idea and I have an idea and we exchange these ideas, then each of us will have two ideas. © George Bernard Shaw |
|||
|
||||
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
почему нет? times не зря возвращает системное и пользовательское время системное время естественно различается (прерывания всегда асинхронны и недетерминированны) а пользовательское постоянно, если в обоих случаях выполняется одинаковая последовательность действий (а она одинаковая) только не надо говорить, что, дескать, частота ядра CPU может различается от опыта к опыту и т. д она то может и различаться, только вот относительный результат всегда одинаков отнюдь см. выше
к словам не надо придираться сокращать = не учитывать Добавлено через 2 минуты и 50 секунд железная логика если бы все мерилось итерациями цикла -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
| MAKCim |
|
|||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
UnrealMan,
да, если уж на то пошло давай я докажу, что результаты твоего теста нельзя принять за истину
циклы большие по количеству итераций, а следовательно почему ты решил, что они будут выполняться атомарно? почему в одном из них не может произойти какое-либо событие (будь то прерывание, переключение контекста процесса или еще что-нибудь) а в другом нет? -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
|||
|
||||
| UnrealMan |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 722 Регистрация: 30.3.2006 Репутация: 27 Всего: 32 |
Исходя из этой фразы не видно, что имелось в виду решение системы уравнений. Но даже если составить систему уравнений, погрешность будет слишком велика. Ты-то хоть, я надеюсь, это понимаешь? В данном случае именно так и надо мерить. Ведь производительность быстровыполняемых операций важна только тогда, когда эти операции выполняются по многу раз.
В том-то и дело, что важен средний результат. Погрешность тут, конечно же, возможна, но будет в пределах 10-25 процентов. |
|||
|
||||
| MAKCim |
|
||||
![]() Воін дZэна ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5644 Регистрация: 10.12.2005 Где: Менск, РБ Репутация: 52 Всего: 207 |
какая погрешность? я же доходчиво (надеюсь) объяснил, что к чему время остального кода B постоянно и times это гарантирует если этот остальной код не меняется, а он не меняется меняются только вот эти части
и
время их выполнения равно T1 и T2 общее время, полученное с помощью times равно A1 и A2 соответственно чтобы получить T1 и T2 мы от A1 и A2 должны отнять B при B -> 00, пропорции T1 / T2 и A1 / A2 не равны, но ассимптотически приближаются к 1 причем если T1 < T2, то справа, иначе - слева но относительный результат (быстрее или медленнее) постоянен в не зависимости от B а т. к B у нас постоянно, то и одного опыта достаточно для того, чтобы опровергнуть или доказать гипотезу Это сообщение отредактировал(а) MAKCim - 8.11.2007, 00:32 -------------------- Ах, у елі, ах, у ёлкі, ах, у елі злыя волкі © |
||||
|
|||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |