/
githubmirror
/
RxJava
Обзор
Документация
Войти
/
githubmirror
/
RxJava
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
4.x
src/jmh/java/io/reactivex/rxjava4/xmapz/FlowableSwitchMapCompletablePerf.java
68 строк
2 KB
David Karnok
4.x: Unit test lambdaification 15 of N (#8156)
22 июн 2026, 16:57
Не верифицирован
22 июн 2026, 16:57
55ef9d2
Код
Авторство
О чём код?
/* * Copyright (c) 2016-present, RxJava Contributors. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in * compliance with the License. You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software distributed under the License is * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See * the License for the specific language governing permissions and limitations under the License. */ package io.reactivex.rxjava4.xmapz; import java.util.Arrays; import java.util.concurrent.TimeUnit; import org.openjdk.jmh.annotations.*; import org.openjdk.jmh.infra.Blackhole; import io.reactivex.rxjava4.core.*; import io.reactivex.rxjava4.functions.Function; @BenchmarkMode(Mode.Throughput) @Warmup(iterations = 5) @Measurement(iterations = 5, time = 1, timeUnit = TimeUnit.SECONDS) @OutputTimeUnit(TimeUnit.SECONDS) @Fork(value = 1) @State(Scope.Thread) public class FlowableSwitchMapCompletablePerf { @Param({ "1", "10", "100", "1000", "10000", "100000", "1000000" }) public int count; Flowable<Integer> flowableConvert; Completable flowableDedicated; Flowable<Integer> flowablePlain; @Setup public void setup() { Integer[] sourceArray = new Integer[count]; Arrays.fill(sourceArray, 777); Flowable<Integer> source = Flowable.fromArray(sourceArray); flowablePlain = source.switchMap(_ -> Flowable.empty()); flowableConvert = source.switchMap(_ -> Completable.complete().toFlowable()); flowableDedicated = source.switchMapCompletable((Function<Integer, Completable>) _ -> Completable.complete()); } @Benchmark public Object flowablePlain(Blackhole bh) { return flowablePlain.subscribeWith(new PerfConsumer(bh)); } @Benchmark public Object flowableConvert(Blackhole bh) { return flowableConvert.subscribeWith(new PerfConsumer(bh)); } @Benchmark public Object flowableDedicated(Blackhole bh) { return flowableDedicated.subscribeWith(new PerfConsumer(bh)); } }