Skip to content

Benchmark for SimpleReact

johnmcclean-aol edited this page Mar 31, 2015 · 22 revisions

Benchmark using sync operators in simple-react v0.84

This benchmark, on a Mac Book pro shows raw performance / overhead of CompletableFuture task submission, Stream creation, without the overhead of threading - see async benchmark below for impact of thread management). Users can switch between sync (next task executed on completing thread) / async (next task resubmitted to task executor) execution by sync() and async() operators.

  • Max functions applied per second 👍 431,202,700 (431.2 million)
  • Min functions applied per second 👍 79,631,350 (79.6 million)
  • Avg functions applied per second 👍 137,353,809 (137.4 million)

160895200 244944375 334322750 80170700 162339000 245307100 84680425 169427075 79695000 154736850 79791125 82663775 163609525 80296600 163676850 84358300 169515900 80967200 85906750 85197300 165717375 85997500 90071850 80427025 86157625 170040450 260851800 343009875 431202700 82807475 161687600 248474200 86414850 88685675 82317825 168694075 85677450 170073975 86073150 82681775 79631350 84501625 82729400 84151325 81771325 89549925 180017250 84175975 84288225 82398300 169320750 83124350 164761425 87031775 175024075 260632975 86038800 85143075 83612325 168765975 85529600 167350225 254173875

Machine used to run the benchmark:

  • Model Name: MacBook Pro
  • Model Identifier: MacBookPro9,1
  • Processor Name: Intel Core i7
  • Processor Speed: 2.6 GHz
  • Number of Processors: 1
  • Total Number of Cores: 4
  • L2 Cache (per Core): 256 KB
  • L3 Cache: 6 MB
  • Memory: 8 GB

Java version:

  • Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
  • Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode)

JVM settings

  • -Xms4g
  • -Xmx4g
  • -XX:MaxMetaspaceSize=256M
  • -server
  • Default Parallel GC is used
  • MinHeapFreeRatio = 40
  • MaxHeapFreeRatio = 70
  • MaxHeapSize = 4294967296 (4096.0MB)
  • NewSize = 1431306240 (1365.0MB)
  • MaxNewSize = 1431306240 (1365.0MB)
  • OldSize = 2863661056 (2731.0MB)
  • NewRatio = 2
  • SurvivorRatio = 8

Program settings:

  • 4 threads
  • 8 max active stream
  • 4 min active streams
  • Chain length 20

Benchmark results:

Around 13 million functions applied per second

Sample output from the benchmark program:

  • 10895580
  • 13812420
  • 14028800
  • 13108380
  • 13802820
  • 13702560
  • 13821380
  • 13840820
  • 13760800
  • 13752180
  • 13748880
  • 13852600
  • 13814600
  • 13813820
  • 13679800
  • 13675800
  • 13806400
  • 13759620
  • 13809820
  • 13708400
  • 13769720
  • 13835100
  • 13876400
  • 13828600
  • 13832840
  • 13726060
  • 13836700
  • 13760600
  • 13776100
  • 13745700
  • 13702440
  • 13714220
  • 13697700
  • 13691620
  • 13674100
  • 13825460
  • 13681420
  • 13770980
  • 13879360
  • 8071400
  • 13798560
  • 13849180
  • 13864420
  • 13836860
  • 13774900
  • 13930800
  • 13800160
  • 13835880
  • 13796200
  • 13788880
  • 13725980
  • 13653260
  • 13864960
  • 13725280
  • 13586240
  • 13747080
  • 13760880
  • 13770240
  • 13737420
  • 13669680
  • 13818800
  • 13833920
  • 13682320
  • 13760880
  • 13745840
  • 13818380
  • 13739140
  • 13803000
  • 13982200
  • 13851200
  • 13787160
  • 13701860
  • 13645720
  • 13793760
  • 13678400
  • 13687560
  • 13885880
  • 13686880
  • 13780140
  • 13746200
  • 13697900
  • 13709800
  • 13728600
  • 13730120
  • 13849200
  • 13756360
  • 13724580
  • 14016120
  • 13814160
  • 13768600
  • 13784420
  • 13697280
  • 13759420
  • 13842600
  • 13708340
  • 13748260
  • 13808400
  • 13840060
  • 13754240
  • 13872800
  • 13842420
  • 13736460
  • 13815440
  • 13745300
  • 13725780
  • 13746880
  • 13773380
  • 13926800
  • 13634360
  • 13190620
  • 12721260
  • 12654400
  • 13029400
  • 12920000
  • 12885800
  • 13050640
  • 13404000
  • 12960620
  • 12806000
  • 12572620
  • 12954000
  • 12948400
  • 12947560
  • 13053440
  • 12949160
  • 13025400
  • 12910640
  • 12902580
  • 12585360
  • 12521500
  • 12734980
  • 12831540
  • 12896740
  • 12539860
  • 12518560
  • 12540120
  • 12721220
  • 12921200
  • 13135200
  • 12918500
  • 12726260
  • 12561400
  • 12525200
  • 12537780
  • 12856440
  • 12914740
  • 12884540
  • 12776600
  • 12566000
  • 12468280
  • 12626720
  • 12911620
  • 12901100
  • 12951800
  • 12763560
  • 12509840
  • 12626360
  • 12887000
  • 13001720
  • 12906400
  • 12836940
  • 12543460
  • 12497400
  • 12654780
  • 12908200
  • 12920200
  • 12807280
  • 12553320
  • 12570580
  • 12568000
  • 12768080
  • 13011460
  • 12938100
  • 12765800
Clone this wiki locally