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

JMH: доступ к BenchmarkParams из метода @Setup класса @State
Можно ли получить доступ к BenchmarkParams в @Setup класса @State(Scope.Benchmark) , если этот класс передан в параметр @Benchmark as? Пример минимального кода (фактическое использование более сложное, но это воспроизводит мою проблему):...
3908 просмотров
schedule 30.10.2021

Почему итерация std :: array выполняется намного быстрее, чем итерация std :: vector?
Примечание редактора: Последующий вопрос с включенной оптимизацией, которая учитывает только цикл : Почему итерация через` std :: vector` быстрее, чем итерация через `std :: array`? где мы можем увидеть эффект сбои страницы ленивого выделения...
225 просмотров
schedule 11.09.2021

Можно ли запустить суппорт с помощью команды IntelliJ «запустить» внутри основного?
Я новичок в суппорте и хочу знать, могу ли я создать основной метод, а затем щелкнуть правой кнопкой мыши и выбрать «запустить», используя IntelliJ? public class Benchmark1 extends Benchmark{ @Param({"10", "100", "1000", "10000"}) private int...
975 просмотров
schedule 02.04.2022

Как минимизировать затраты на выделение и инициализацию NSDateFormatter?
Я заметил, что использование NSDateFormatter может быть довольно дорогостоящим. Я понял, что выделение и инициализация объекта уже занимает много времени. Кроме того, кажется, что использование NSDateFormatter в нескольких потоках увеличивает...
5705 просмотров

Эффективное преобразование в векторы в R
Может ли кто-нибудь помочь мне сделать этот код R более эффективным? Я пытаюсь написать функцию, которая изменяет список строк на вектор строк или список чисел на вектор чисел, списков типизированных элементов на векторы определенного типа в целом....
2471 просмотров

Измерьте время, необходимое для выполнения функции сборки
У меня есть следующая программа сборки, и в качестве своего рода теста я хотел бы посмотреть, как работает функция 1B-приращения. Как наиболее точно рассчитать это время? SYS_EXIT = 60 LOOP_MAX = 1000000000 .globl _start loop: # do a billion...
36 просмотров

Как правильно измерить скорость загрузки/чтения RDS в R?
Я думал об эффективном чтении данных в R и попробовал несколько способов проверить, быстрее ли load('file.Rdata') или readRDS('file.rds') . Файлы file.Rdata и file.rds содержат одни и те же данные, первый создан с помощью save(d,...
1120 просмотров
schedule 07.06.2022

Почему (a * b! = 0) быстрее, чем (a! = 0 && b! = 0) в Java?
Я пишу код на Java, где в какой-то момент поток программы определяется тем, являются ли две переменные int, a и b, отличными от нуля (примечание: a и b никогда не являются отрицательными, и никогда в пределах целочисленного переполнения диапазон)....
23135 просмотров

Почему CPUID + RDTSC ненадежны?
Я пытаюсь профилировать код для времени выполнения на процессоре x86-64. Я имею в виду этот технический документ Intel, а также просмотрены другие потоки SO, в которых обсуждается тема использования RDTSCP и CPUID+RDTSC здесь и здесь . В...
515 просмотров
schedule 18.06.2022

Микротест, сравнивающий изменяемые и неизменяемые коллекции Scala с коллекциями java.util.concurrent.*
Существуют ли какие-либо опубликованные микротесты, которые сравнивают изменяемые и неизменяемые коллекции Scala друг с другом и коллекциями в java.util.concurrent в многопоточных средах? Меня особенно интересуют случаи, когда читателей намного...
1142 просмотров

Почему оператор сравнительного мода (%) часто показывает 0 затраченного времени, даже для 5000 раундов?
Я хочу получить представление о том, как быстро работает оператор модуля ( % ). Я установил простую программу для оценки % применения к случайно сгенерированным значениям. Время измеряется в наносекундах часами с высоким разрешением. Часто он...
83 просмотров

Почему два последовательных вызова одного и того же метода дают разное время выполнения?
Вот пример кода: public class TestIO{ public static void main(String[] str){ TestIO t = new TestIO(); t.fOne(); t.fTwo(); t.fOne(); t.fTwo(); } public void fOne(){ long t1, t2; t1 = System.nanoTime(); int i = 10;...
1804 просмотров
schedule 21.07.2022

Как дрожание JVM может быть вызвано циклом for без выделения объектов?
Я провел микротестирование следующего кода и заметил кое-что интересное, на что я надеюсь, кто-нибудь сможет пролить больше света. Это приводит к ситуации, когда кажется, что цикл for может продолжать работать быстро, блокируя другие потоки в JVM....
1018 просмотров
schedule 21.07.2022

Почему python timeit использует «лучшее из 3» для измерения прошедшего времени?
Я не вижу причин, по которым модуль timeit Python измеряет время, используя функцию best of 3 . Вот пример из моей консоли: ~ python -m timeit 'sum(range(10000))' 10000 loops, best of 3: 119 usec per loop Интуитивно я бы сложил все время...
2827 просмотров

Почему этот пример с добавлением массива SIMD может не демонстрировать никакого прироста производительности по сравнению с простой реализацией?
class Program { static void Main(string[] args) { Console.WriteLine(Vector.IsHardwareAccelerated ? "SIMD supported" : "SIMD not supported."); var rand = new Random(); var numNums = 10000000; var arr1 =...
206 просмотров
schedule 07.08.2022

Что случилось с поведением rdtscp наполовину?
В течение многих лет процессоры x86 поддерживали инструкцию rdtsc , которая считывает «счетчик отметок времени» текущего процессора. Точное определение этого счетчика со временем изменилось, но на последних процессорах это счетчик, который...
295 просмотров

в чем проблема с использованием пошагового доступа к потоку для измерения пиковой пропускной способности памяти
В качестве примера возьмем Skylake, его строка кэша составляет 64 байта. Я попытался написать простую программу, чтобы узнать, какую максимальную пропускную способность памяти я могу потреблять. В приведенном ниже коде я намеренно сделал шаг 64...
51 просмотров

R microbenchmark: как передать один и тот же аргумент оцениваемым функциям?
Я хотел бы оценить время извлечения данных из растрового временного ряда с использованием различных типов файлов (геотиф, двоичный файл) или объектов (RasterBrick, RasterStack). Я создал функцию, которая будет извлекать временные ряды из случайной...
331 просмотров
schedule 12.08.2022

функции `микробенчмарка`, созданные фабричной функцией
У меня есть функция, которая создает другую функцию в соответствии с некоторыми конкретными параметрами: factory <- function(param) { # some long computation… cached.matrix = rnorm(param) # return function that uses cached data...
83 просмотров
schedule 04.09.2022

Автоматизация команды подмножества в R
данный скрипт подмножает данные радужной оболочки в R на основе заданного условия. Однако, когда то же самое применяется к очень большим данным, скажем, к 10 миллионам+, решение теряет смысл. Пожалуйста, помогите мне с более быстрым способом...
248 просмотров
schedule 08.09.2022