akarnokd / akarnokd/akarnokd-misc

Benchmark January 18, 2017

Abierto
#5 0 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Java
Estrellas
54
Forks
20
Merge medio
1 h 20 min
PR fusionados (30 d)
5

Descripción

# Environment
- i7 4790 stock settings
- Windows 7 x64
- Java 8u112
- library versions: snapshots of their latest major version
- **Green: good**
- **Red: not so good**
- [Raw data](https://gist.github.com/akarnokd/cb9c886fca322abdd6ecb29cca6b6c95)

# Async

(Start a stream from the main thread but don't pin the source to it)

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22056847/5b534a0c-dd62-11e6-95f7-77180265889e.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22056881/9ca6aca6-dd62-11e6-8713-172852b0048b.png)

# Pipeline

(Start a stream from a thread, pin it there and observe on a separate thread)

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22057060/5c595a26-dd63-11e6-96c2-2633c632c5a6.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22057092/7654fe62-dd63-11e6-922a-ea065663bc42.png)

# Blocking

## Empty source

versus RxJava 1.x

![image](https://cloud.githubusercontent.com/assets/1269832/22057166/cac8ef1c-dd63-11e6-86ab-e6d66cd968fb.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22057172/d769c5ac-dd63-11e6-9ee3-cbc3df8b36c7.png)

## First element

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22057261/3a493fb8-dd64-11e6-9945-7047db338cf2.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22057302/710d511a-dd64-11e6-84da-b30db1cbe53c.png)

## Last element

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22057367/a716c43a-dd64-11e6-8b4e-926141b215b2.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22057391/be53c12a-dd64-11e6-9d2c-e2e96b83fed4.png)

# Memory consumption

(Having 1 million active sequences, Megabytes used, smaller is better)

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22057497/3352ea78-dd65-11e6-8c71-0eaa96e55117.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22057488/2b380170-dd65-11e6-9c88-1a19f283b8bd.png)

# Synchronous streaming

## range

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22057719/3f8e935e-dd66-11e6-8ea1-5a062891e4bb.png)

versus Reactor-Core

![image](https://cloud.githubusercontent.com/assets/1269832/22057741/555d805a-dd66-11e6-8720-6b1ad8aa6eda.png)

## fromArray

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22057603/b3819370-dd65-11e6-80c7-7ace07ecaba3.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22057618/c67535cc-dd65-11e6-95c6-96459561d264.png)

## fromIterable

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22057774/7d4ddca4-dd66-11e6-842e-437c738504e7.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22057787/917cf070-dd66-11e6-89ee-53a20322d4f1.png)

## concatMap

### just

(Concatenate a sequence of values mapped into `just()`)

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22057869/e4925656-dd66-11e6-9a8b-85f8d01936b0.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22057882/f9e52e70-dd66-11e6-898d-c421a8091f80.png)

### range

(Concatenate a sequence of values expanded into a `range()`)

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22057928/3253232a-dd67-11e6-8aae-1cba115caeba.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22057957/55d32d36-dd67-11e6-9881-295e6766f0dc.png)

### cross-range

(Deliver 1 million items split between a main sequence of length `N` and its mapping to a `1,000,000 / N` inner sequence.

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22058014/a9f3a22e-dd67-11e6-86c6-cd6d89324aa0.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22058046/cb8f0f40-dd67-11e6-8016-fbb0abdcefed.png)

## flatMap

### just

(Merge a sequence of values mapped into `just()`)

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22058115/190b3f1e-dd68-11e6-90b8-dc2779c06f9b.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22058129/235fd84e-dd68-11e6-9c8d-73a2f1552c21.png)

### range

(Merge a sequence of values expanded into a `range()`)

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22058182/5c712b38-dd68-11e6-8700-ddeac183cc1b.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22058189/649f0b68-dd68-11e6-8efe-989e3e22a37b.png)

### cross-range

(Deliver 1 million items split between a main sequence of length `N` and its mapping to a `1,000,000 / N` inner sequence.

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22058240/902bcb40-dd68-11e6-9431-e4ae130c6286.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22058253/96be0090-dd68-11e6-981e-ee16a371a782.png)

## flatten

(Flatten an mapping to an `Iterable` inner source)

### just

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22058334/d4c80eda-dd68-11e6-9848-436c0b2e4395.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22058360/e5f10c0c-dd68-11e6-9376-753ed610ea4a.png)

### range

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22058393/068babfc-dd69-11e6-9f3f-b2e0a23fe88d.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22058399/0dee0944-dd69-11e6-9a67-b9785fdb31de.png)

### cross-range

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22058441/27512524-dd69-11e6-924f-ac5720bf3cd1.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22058453/332f9218-dd69-11e6-8a5f-23b22ade3ddf.png)

## concatMap vs flatMap

### just

![image](https://cloud.githubusercontent.com/assets/1269832/22058620/dd14f606-dd69-11e6-9317-19d21f68a504.png)

### range

![image](https://cloud.githubusercontent.com/assets/1269832/22060427/f7ec98c4-dd70-11e6-8ead-bd92790c25c9.png)

### cross-range

![image](https://cloud.githubusercontent.com/assets/1269832/22058723/49df24f0-dd6a-11e6-9d79-0784bb2f9774.png)

# Subject overhead

## direct multicast

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22058897/f25ed1a2-dd6a-11e6-9ad3-30b8455b08d1.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22058921/039cc172-dd6b-11e6-9733-acadd95cd5b2.png)

## replay

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22058953/274a3bd6-dd6b-11e6-8d5c-35e91e4ed67b.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22058960/324b0a92-dd6b-11e6-8a79-de982600e1f4.png)

## unicast

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22058987/52db36ba-dd6b-11e6-9a5e-5bc1457a873e.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22058994/5b9c221e-dd6b-11e6-8b82-1d7a2f70f350.png)

## async

(Reactor-Core has no AsnycProcessor equivalent)

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22059038/7f8ead18-dd6b-11e6-8095-01816320ac77.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22059053/891ab368-dd6b-11e6-82c2-b36639fdf483.png)

## behavior

(Reactor-Core has no BehaviorProcessor equivalent)

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22059092/bc7c5036-dd6b-11e6-89b5-4b5cca3465f0.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22059096/c3ce0d48-dd6b-11e6-893a-6c176350cf50.png)

# Subscribe

versus RxJava 1.x:

![image](https://cloud.githubusercontent.com/assets/1269832/22059945/3282d09a-dd6f-11e6-8056-32ba3116213a.png)

versus Reactor-Core:

![image](https://cloud.githubusercontent.com/assets/1269832/22060006/6dff437e-dd6f-11e6-8657-79860efe8a9b.png)

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.