Вопросы по теме 'microbenchmark'
Есть ли способ узнать из JVM, был ли конкретный метод скомпилирован JIT?
При написании микробенчмарков можно наблюдать большую разницу во времени выполнения в зависимости от того, скомпилирован метод или нет. Есть ли способ узнать из программы, был ли скомпилирован конкретный метод? В качестве альтернативы, есть ли...
177 просмотров
schedule
03.01.2024
Оценка фактической (не теоретической) сложности реализации во время выполнения
Любой специалист в области информатики знает, что HeapSort — это O(n log n) наихудший случай в теории, а QuickSort — O(n^2) наихудший случай. Однако на практике хорошо реализованная быстрая сортировка (с хорошей эвристикой) превосходит кучевую...
460 просмотров
schedule
26.10.2022
Попадания в кэш, промахи и предсказание — влияние на производительность
Я написал следующий игрушечный бенчмарк.
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 просмотров
schedule
09.08.2023
Почему jnz требует 2 цикла для завершения во внутреннем цикле
Я на IvyBridge. Я обнаружил, что производительность jnz несовместима во внутреннем и внешнем циклах.
Следующая простая программа имеет внутренний цикл фиксированного размера 16:
global _start
_start:
mov rcx, 100000000
.loop_outer:...
351 просмотров
schedule
03.04.2023
Почему 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 просмотров
schedule
02.10.2023
Как мне подойти, чтобы определить количество этапов конвейера в ЦП моего ноутбука
Я хочу изучить, чем последние процессоры отличаются от стандартной реализации RISC V (RISC V имеет 5 этапов конвейера - выборка, декодирование, память, ALU, обратная запись), но не могу найти, как мне начать подход к проблеме, чтобы найти текущая...
676 просмотров
schedule
02.10.2022
Объясняется ли разница между этими двумя оценками свертыванием констант?
Учитывая эти две оценки, которые изменяют только 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 просмотров
schedule
20.11.2023
Бенчмаркинг JMH позволяет избежать оптимизации jvm
Я пытаюсь написать тесты jmh.
Я наткнулся на различные блоги, в которых упоминаются подводные камни в бенчмаркинге jmh. Типичным примером являются
этот код
int sum() {
int a =7;
int b = 8;
return a+b;
}
будет оптимизирован для...
44 просмотров
schedule
09.01.2023