dart-sdk/benchmarks
Alexander Aprelev 17654b70d7 [vm/isolates] Introduce sendAndExit.
sendAndExit allows for fast data passing from worker isolate back to
parent.

```
                                              | linux x64  | spawnIsolate | sendAndExit |
                                              |us per iter | over sync    | over send   |
                                              +------------+--------------+-------------+
IsolateJson.Decode50KBx1(RunTime):               43,175.000   339.83%
IsolateJson.SendAndExit_Decode50KBx1(RunTime):   22,070.000   124.83%        -48.88%
IsolateJson.SyncDecode50KBx1(RunTime):            9,816.284

IsolateJson.Decode50KBx4(RunTime):               77,630.000   104.56%
IsolateJson.SendAndExit_Decode50KBx4(RunTime):   46,307.000   22.02%         -40.35%
IsolateJson.SyncDecode50KBx4(RunTime):           37,949.528

IsolateJson.Decode100KBx1(RunTime):              71,035.000   270.42%
IsolateJson.SendAndExit_Decode100KBx1(RunTime):  43,056.000   124.52%        -39.39%
IsolateJson.SyncDecode100KBx1(RunTime):          19,176.733

IsolateJson.Decode100KBx4(RunTime):             120,915.000   54.66%
IsolateJson.SendAndExit_Decode100KBx4(RunTime):  67,101.000  -14.17%         -44.51%
IsolateJson.SyncDecode100KBx4(RunTime):          78,179.731

IsolateJson.Decode250KBx1(RunTime):             173,574.000  202.52%
IsolateJson.SendAndExit_Decode250KBx1(RunTime): 103,334.000   80.10%         -40.47%
IsolateJson.SyncDecode250KBx1(RunTime):          57,375.314

IsolateJson.Decode250KBx4(RunTime):             292,118.000   20.30%
IsolateJson.SendAndExit_Decode250KBx4(RunTime): 168,444.000  -30.63%         -42.34%
IsolateJson.SyncDecode250KBx4(RunTime):         242,831.000

IsolateJson.Decode1MBx1(RunTime):               631,578.000  166.34%
IsolateJson.SendAndExit_Decode1MBx1(RunTime):   371,127.000   56.50%         -41.24%
IsolateJson.SyncDecode1MBx1(RunTime):           237,135.778

IsolateJson.Decode1MBx4(RunTime):             1,322,789.000   36.16%
IsolateJson.SendAndExit_Decode1MBx4(RunTime):   657,179.000  -32.35%         -50.32%
IsolateJson.SyncDecode1MBx4(RunTime):           971,473.333

```

Bug: https://github.com/dart-lang/sdk/issues/37835
Bug: https://github.com/dart-lang/sdk/issues/36097
Change-Id: I386641e1431ed9f2e34fac36f562607a666ee4a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/142823
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2020-04-22 17:34:09 +00:00
..
BigIntParsePrint/dart [benchmark] Make BigIntPrintParse be NNBD-agnostic 2020-03-26 17:55:33 +00:00
Calls/dart [vm/benchmarks] Add sync/sync*/async/async* call benchmarks 2019-08-22 12:21:19 +00:00
Example/dart [benchmark] Add top level benchmarks directory. 2019-07-10 14:51:14 +00:00
FfiBoringssl/dart [vm] DBC is obsolete. Remove dead code. 2019-10-27 18:18:29 +00:00
FfiCall/dart [vm] DBC is obsolete. Remove dead code. 2019-10-27 18:18:29 +00:00
FfiMemory/dart [vm] DBC is obsolete. Remove dead code. 2019-10-27 18:18:29 +00:00
FfiStruct/dart [vm/ffi] Remove Struct type argument 2019-10-15 18:35:57 +00:00
Isolate/dart [vm/benchmark] Add *Bytes suffix to Isolate SendReceive benchmark 2019-09-05 15:25:33 +00:00
IsolateJson/dart [vm/isolates] Introduce sendAndExit. 2020-04-22 17:34:09 +00:00
IsolateSpawn/dart [vm/benchmark] Add IsolateSpawnMemory.Dart2JSDeltaRss benchmarks. 2019-11-04 23:53:05 +00:00
IsolateSpawnMemory/dart [vm/concurrency] Update IsolateSpawnMemory benchmark 2019-12-03 12:07:55 +00:00
ListCopy/dart [benckmark] Apply code review suggestion to TBR-ed ListCopy benchmark fix 2020-03-24 00:22:45 +00:00
SoundSplayTreeSieve/dart Added SoundSplayTreeSieve benchmark for variantly sound interfaces. 2019-12-20 23:54:15 +00:00
TypedDataDuplicate/dart [benchmarks] Add typed data copy benchmark 2020-01-24 22:04:35 +00:00
Utf8Decode/dart [benchmark] Benchmark for UTF-8 decoding with typical data. 2020-03-27 13:02:07 +00:00
analysis_options.yaml [vm/benchmarks] Add IsolateSpawn spawn latency and memory benchmarks. 2019-10-11 19:52:12 +00:00