Вопросы по теме 'microbenchmark'

Есть ли способ узнать из JVM, был ли конкретный метод скомпилирован JIT?
При написании микробенчмарков можно наблюдать большую разницу во времени выполнения в зависимости от того, скомпилирован метод или нет. Есть ли способ узнать из программы, был ли скомпилирован конкретный метод? В качестве альтернативы, есть ли...
177 просмотров
schedule 03.01.2024

Оценка фактической (не теоретической) сложности реализации во время выполнения
Любой специалист в области информатики знает, что HeapSort — это O(n log n) наихудший случай в теории, а QuickSort — O(n^2) наихудший случай. Однако на практике хорошо реализованная быстрая сортировка (с хорошей эвристикой) превосходит кучевую...
460 просмотров

Попадания в кэш, промахи и предсказание — влияние на производительность
Я написал следующий игрушечный бенчмарк. int N = 1024*4096; unsigned char *ary = malloc(N); ary[0] = 1; int stride, i; double start, end; int sum; for(stride = 1; stride < N; ++stride) { start = getCPUTime(); sum = 0; for(i = 0; i...
174 просмотров
schedule 11.11.2022

В чем разница между использованием R microbenchmark и system.time?
Я хотел бы понять разницу между микротестом R и system.time()? Как они внутренне измеряют время выполнения функции?
885 просмотров
schedule 03.01.2024

Первый разогрев намного быстрее, чем в среднем
У меня есть очень простой микротест @State(Scope.Benchmark) @BenchmarkMode(Mode.AverageTime) public class Test { List<Integer> list = new Random().ints(100_000).boxed().collect(toList()); @Benchmark public int mapToInt() { return...
73 просмотров
schedule 22.05.2024

Как использовать список-аргумент в микробенчмарке
Как использовать список-аргумент в функции microbenchmark . Я хочу протестировать одну и ту же функцию с разными входными данными, как в microbenchmark(j1 = {sample(1e5)}, j2 = {sample(2e5)}, j3 = {sample(3e5)})...
535 просмотров
schedule 03.05.2023

Как использовать пакет OpenMP Microbenchmark EPCC для моей программы
Я реализовал приложение с использованием OpenMP, которое я скомпилировал с помощью GCC в Ubuntu 16.04, для которого я хотел бы рассчитать накладные расходы в своем приложении. (Двоичный файл моего приложения предназначен, например, для xyz.exe .)...
257 просмотров
schedule 12.11.2023

Почему первый запуск всегда намного медленнее?
Я написал макрос, который сообщает время, необходимое для выполнения данной операции. Он запускает его несколько раз и выводит время для каждого запуска в наносекундах. Первый запуск всегда занимает значительно больше времени, чем последующие....
315 просмотров

Почему jnz требует 2 цикла для завершения во внутреннем цикле
Я на IvyBridge. Я обнаружил, что производительность jnz несовместима во внутреннем и внешнем циклах. Следующая простая программа имеет внутренний цикл фиксированного размера 16: global _start _start: mov rcx, 100000000 .loop_outer:...
351 просмотров

Почему substr-lvalue быстрее, чем substr с четырьмя аргументами?
Из этот вопрос мы сравним эти два варианта, substr( $foo, 0, 0 ) = "Hello "; substr( $foo, 0, 0, "Hello " ); В нем мы обнаруживаем, что substr -lvalue быстрее . На что Икегами сказал: Как 4-arg substr медленнее, чем lvalue substr...
173 просмотров
schedule 18.08.2022

Относительный бенчмаркинг в R с поправкой на спецификации локальной машины
У меня есть вопрос относительно бенчмаркинга в R. Как я могу правильно оценить относительную скорость функций по сравнению с пользовательской функцией. Скажем, у меня есть 3 пользовательские функции f, g и h, и я хочу сообщить, как g и h работают с...
26 просмотров

Как мне подойти, чтобы определить количество этапов конвейера в ЦП моего ноутбука
Я хочу изучить, чем последние процессоры отличаются от стандартной реализации RISC V (RISC V имеет 5 этапов конвейера - выборка, декодирование, память, ALU, обратная запись), но не могу найти, как мне начать подход к проблеме, чтобы найти текущая...
676 просмотров

Объясняется ли разница между этими двумя оценками свертыванием констант?
Учитывая эти две оценки, которые изменяют только Module::FOO() и FOO() . # Symbols imported, and used locally. eval qq[ package Foo$num; Module->import(); my \$result = Module::FOO() * Module::FOO(); ] or die $@; # Symbols imported,...
180 просмотров

Бенчмаркинг JMH позволяет избежать оптимизации jvm
Я пытаюсь написать тесты jmh. Я наткнулся на различные блоги, в которых упоминаются подводные камни в бенчмаркинге jmh. Типичным примером являются этот код int sum() { int a =7; int b = 8; return a+b; } будет оптимизирован для...
44 просмотров