Показать сообщение отдельно
  #17 (permalink)  
Старый 07.08.2019, 17:27
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Сообщение от рони
я не понимаю достаточно хорошо ни ваш код, ни код SuperZen
Наверное вам стоит самим написать код, который измеряет время выполнения функции.

Сообщение от рони
я незнаю почему первый бегун всегда бежит быстрее, чем все остальные..
Я тоже не знаю... Но в мире SuperZen всё происходит именно так!

Сообщение от рони
что тут происходит order: 0.5 * Math.round(2 * Math.log(v / 1000) / Math.log(10)), для меня тоже тайна.
Тут вычисляется порядок времени выполнения с точностью до полпорядка.

Порядок позволяет классифицировать величины, например, единицы, десятки, сотни, тысячи... а также десятые части целого, сотые части целого, тысячные части целого... и т. д. Например, если говорить о секундах, то, например, 2 и 5 секунд могут быть отнесены к классу единиц... а, 2 и 50 секунд относятся к разным классам. (единицы и десятки)

Порядок, который вычисляется в примере, является показателем степени, в которую нужно возвести число 10.

Любое число можно представить в стандартной форме, в виде мантиссы и порядка.

Почему в приведённой теме так сильно уделяется внимание мантиссе. Например, приводится тест, в котором говорится, что один вариант выполняется на 3% быстрее. Но вы понимаете, что такое 3% от 100нс? Я думаю, что вы плохо это представляете.

При сравнении результатов мантиссу можно отбросить, не принимать её во внимание... Понятное дело, что если у вас оба процесса таким образом показывают, например, 10⁻⁷ сек. = 0.0000001 сек., то не имеет значения, какая там мантисса, оба варианта одинаково эффективны и быстры!

Другое дело, если отбросив мантиссы вы получаете, например, 10⁻⁷ сек. = 0.0000001 сек. и 10⁻⁵ сек. = 0.00001 сек., то так и так видно, что процесс длительностью 10⁻⁵ сек. менее эффективен. Не имеет значения, какая там мантисса.

Если вам нужно более точное сравнение, то можно воспользоваться такой формулой...
, где x₁ и x₂ — времена выполнения сравниваемых процессов, r — основание логарифма, в данной теме 10. При выполнении условия можно говорить об одинаковой эффективности!

Последний раз редактировалось Malleys, 07.08.2019 в 17:38.
Ответить с цитированием