у меня код
                  
                  
                    @Benchmark
                  
                  
                      public void baseline(Blackhole blackhole) {
                  
                  
                          Arrays.stream(nextData(rawSegmentStrs).toString().split("\\.")).forEach(s -> blackhole.consume(s));
                  
                  
                      }
                  
                  
                  выполняется вот так 
                  
                  
                  Benchmark                                   (version)   Mode  Cnt    Score     Error   Units
                  
                  
                  DefaultSegmentSerdeBenchmark.baseline               2  thrpt    3  126.571 ± 144.077  ops/ms
                  
                  
                  это типа мне нужно выбрасывать комп, потому что на нём невозможно ничего мерить или я делаю что-то не так?
                  
                  
                
Очевидно, неплохо подкрутить окружение, чтобы минимизировать ошибку. Тактовую частоту зажать, хип зажать для предсказуемого gc, позакрывать лишние приложухи, етц
В стримах часто мультимодальные результаты наблюдаются. Рекомендую сделать с десяток форков в каждом по 10-20 итераций и посмотреть лог
спасибо за совет! В связи с тем, что у меня особо нет других тачек, вопрос: если я сделаю isolatecpu и потом буду запускать бенчмарк с numactl/taskset на то ядро, которое изолировал - это решит проблему? или там ещё 100500 различных нюансов? Про гц я даже с epsilon пробовал, но всё-равно было +-100%
просто сложно бенчмаркать и идею не закрывать, например. А это, наверное, самое жирное что есть
спасибо за совет!
началось отсюда
Обсуждают сегодня