Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mbkkt/add arangodb #14

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Mbkkt/add arangodb #14

wants to merge 1 commit into from

Conversation

MBkkt
Copy link
Member

@MBkkt MBkkt commented May 9, 2022

Configuration

OS: Arch Linux x86_64
Host: Latitude 5421
Kernel: 5.19.5-arch1-1
Uptime: 6 mins
Packages: 678 (pacman)
CPU: 11th Gen Intel i7-11850H (16) @ 2.500GHz
GPU: Intel TigerLake-H GT1 [UHD Graphics]
Memory: 1579MiB / 47911MiB

gcc (GCC) 12.2.0
libstdc++ version: 20220819

cmake options:
-DCMAKE_BUILD_TYPE=Release 
-DCMAKE_CXX_COMPILER=g++ 
-GNinja
-DSTD=ON
-DYACLIB="v2022.08.31"
-DARANGODB=ON
-DFOLLY=ON
-DCPPCORO=ON

Results for coro

➜  Bench git:(mbkkt/add_arangodb) build_release/coro
2022-08-31T22:30:37+03:00
Running build_release/coro
Run on (16 X 2501.27 MHz CPU s)
CPU Caches:
  L1 Data 48 KiB (x8)
  L1 Instruction 32 KiB (x8)
  L2 Unified 1280 KiB (x8)
  L3 Unified 24576 KiB (x1)
Load Average: 0.99, 0.38, 0.14
-------------------------------------------------------------------------------
Benchmark                                     Time             CPU   Iterations
-------------------------------------------------------------------------------
Reschedule/YACLib/real_time               13714 ns         3118 ns        52612
Reschedule/CppCoro/real_time              12574 ns         2547 ns        55863
Reschedule/Folly/real_time                18069 ns         3465 ns        38229
Latch/YACLib/600/real_time              2510366 ns      2060657 ns          273
Latch/CppCoro/600/real_time             2699564 ns      2147676 ns          255
AsyncMutex/YACLib/real_time            44203688 ns        42569 ns           16
AsyncMutex/CppCoro/real_time          240835453 ns        46621 ns            3
CollatzEager/YACLib/1/0/real_time          51.2 ns         51.2 ns     13658591
CollatzEager/YACLib/2/0/real_time          88.4 ns         88.3 ns      7929574
CollatzEager/YACLib/3/0/real_time           514 ns          514 ns      1361762
CollatzEager/YACLib/7/0/real_time          1099 ns         1099 ns       635992
CollatzEager/YACLib/9/0/real_time          1236 ns         1236 ns       566363
CollatzEager/YACLib/25/0/real_time         1629 ns         1628 ns       429814
CollatzEager/YACLib/27/0/real_time         8120 ns         8118 ns        86270
CollatzEager/YACLib/313/0/real_time        9402 ns         9399 ns        74406
CollatzEager/YACLib/871/0/real_time       12777 ns        12772 ns        54856
CollatzEager/YACLib/2463/0/real_time      14968 ns        14963 ns        46732
CollatzEager/YACLib/6171/0/real_time      18985 ns        18979 ns        36909
CollatzLazy/CppCoro/1/0/real_time           194 ns          194 ns      3610297
CollatzLazy/CppCoro/2/0/real_time           218 ns          218 ns      3215739
CollatzLazy/CppCoro/3/0/real_time           365 ns          365 ns      1921557
CollatzLazy/CppCoro/7/0/real_time           787 ns          787 ns       886448
CollatzLazy/CppCoro/9/0/real_time           914 ns          914 ns       765234
CollatzLazy/CppCoro/25/0/real_time         1073 ns         1073 ns       652595
CollatzLazy/CppCoro/27/0/real_time         5141 ns         5139 ns       136324
CollatzLazy/CppCoro/313/0/real_time        6015 ns         6013 ns       116570
CollatzLazy/CppCoro/871/0/real_time        8368 ns         8365 ns        83617
CollatzLazy/CppCoro/2463/0/real_time       9539 ns         9535 ns        73326
CollatzLazy/CppCoro/6171/0/real_time      12224 ns        12220 ns        57293
CollatzLazy/Folly/1/0/real_time             378 ns          378 ns      1852310
CollatzLazy/Folly/2/0/real_time             413 ns          413 ns      1694323
CollatzLazy/Folly/3/0/real_time             696 ns          696 ns      1010799
CollatzLazy/Folly/7/0/real_time            1356 ns         1355 ns       516328
CollatzLazy/Folly/9/0/real_time            1628 ns         1628 ns       430035
CollatzLazy/Folly/25/0/real_time           1929 ns         1928 ns       362078
CollatzLazy/Folly/27/0/real_time           8540 ns         8538 ns        82144
CollatzLazy/Folly/313/0/real_time         10008 ns        10005 ns        69870
CollatzLazy/Folly/871/0/real_time         13638 ns        13634 ns        51366
CollatzLazy/Folly/2463/0/real_time        16023 ns        16018 ns        43706
CollatzLazy/Folly/6171/0/real_time        20153 ns        20147 ns        34768
Fibonacci/YACLib/1/0/real_time             69.3 ns         69.3 ns     10077785
Fibonacci/YACLib/2/0/real_time             9434 ns         3033 ns        73897
Fibonacci/YACLib/4/0/real_time            12432 ns         3372 ns        56369
Fibonacci/YACLib/8/0/real_time            60785 ns         3567 ns        11485
Fibonacci/YACLib/16/0/real_time         1005382 ns         3755 ns          698
Fibonacci/CppCoro/1/0/real_time             222 ns          222 ns      3156809
Fibonacci/CppCoro/2/0/real_time            9598 ns         3252 ns        73052
Fibonacci/CppCoro/4/0/real_time           14317 ns         5071 ns        48938
Fibonacci/CppCoro/8/0/real_time           83486 ns        10012 ns         8305
Fibonacci/CppCoro/16/0/real_time        1545039 ns        29604 ns          456
Fibonacci/Folly/1/0/real_time               461 ns          461 ns      1518517
Fibonacci/Folly/2/0/real_time             10502 ns         4646 ns        66525
Fibonacci/Folly/4/0/real_time             21700 ns        10145 ns        32351
Fibonacci/Folly/8/0/real_time            126420 ns        29530 ns         5524
Fibonacci/Folly/16/0/real_time          4069499 ns        94644 ns          172

Results for future

➜  Bench git:(mbkkt/add_arangodb) build_release/future
2022-08-31T22:31:35+03:00
Running build_release/future
Run on (16 X 2500 MHz CPU s)
CPU Caches:
  L1 Data 48 KiB (x8)
  L1 Instruction 32 KiB (x8)
  L2 Unified 1280 KiB (x8)
  L3 Unified 24576 KiB (x1)
Load Average: 1.08, 0.51, 0.20
--------------------------------------------------------------------------------
Benchmark                                      Time             CPU   Iterations
--------------------------------------------------------------------------------
ConstantFuture/Std/real_time                 231 ns          231 ns      2988172
ConstantFuture/YACLib/real_time             20.2 ns         20.2 ns     34673362
ConstantFuture/Folly/real_time              27.2 ns         27.2 ns     25733066
ConstantFuture/ArangoDB/real_time           21.6 ns         21.6 ns     32356188
PromiseAndFuture/Std/real_time               236 ns          236 ns      2967352
PromiseAndFuture/YACLib/real_time           44.8 ns         44.8 ns     15625361
PromiseAndFuture/Folly/real_time            77.7 ns         77.7 ns      8956962
PromiseAndFuture/ArangoDB/real_time         52.6 ns         52.6 ns     13217292
Then/YACLib/0/0/real_time                   83.5 ns         83.5 ns      8429401
Then/YACLib/1/0/real_time                    146 ns          146 ns      4815549
Then/YACLib/2/0/real_time                    208 ns          208 ns      3379248
Then/YACLib/4/0/real_time                    337 ns          337 ns      2067947
Then/YACLib/8/0/real_time                    614 ns          613 ns      1146184
Then/YACLib/16/0/real_time                  1098 ns         1093 ns       641995
Then/YACLib/32/0/real_time                  2067 ns         2066 ns       338532
Then/YACLib/64/0/real_time                  4038 ns         4036 ns       172833
Then/YACLib/0/1/real_time                   9097 ns         3248 ns        78167
Then/YACLib/1/1/real_time                   9049 ns         3523 ns        77513
Then/YACLib/2/1/real_time                   9468 ns         3641 ns        70170
Then/YACLib/4/1/real_time                   9849 ns         3799 ns        68769
Then/YACLib/8/1/real_time                  11057 ns         4606 ns        63540
Then/YACLib/16/1/real_time                 11690 ns         5574 ns        61210
Then/YACLib/32/1/real_time                 13569 ns         7356 ns        50981
Then/YACLib/64/1/real_time                 19514 ns        12414 ns        37045
Then/YACLib/0/2/real_time                   8891 ns         3207 ns        76794
Then/YACLib/1/2/real_time                   9469 ns         3513 ns        74543
Then/YACLib/2/2/real_time                   9819 ns         3805 ns        71138
Then/YACLib/4/2/real_time                  10387 ns         4201 ns        67319
Then/YACLib/8/2/real_time                  11977 ns         5143 ns        57987
Then/YACLib/16/2/real_time                 14569 ns         6990 ns        48938
Then/YACLib/32/2/real_time                 23081 ns        14008 ns        29141
Then/YACLib/64/2/real_time                 41710 ns        29306 ns        16151
Then/Folly/0/0/real_time                     202 ns          202 ns      3470689
Then/Folly/1/0/real_time                     453 ns          453 ns      1541705
Then/Folly/2/0/real_time                     703 ns          703 ns       996564
Then/Folly/4/0/real_time                    1234 ns         1234 ns       568010
Then/Folly/8/0/real_time                    2254 ns         2253 ns       310498
Then/Folly/16/0/real_time                   4295 ns         4293 ns       162974
Then/Folly/32/0/real_time                   8381 ns         8378 ns        83538
Then/Folly/64/0/real_time                  16556 ns        16551 ns        42304
Then/Folly/0/1/real_time                    9313 ns         3942 ns        74528
Then/Folly/1/1/real_time                   10127 ns         4284 ns        69313
Then/Folly/2/1/real_time                   10313 ns         4648 ns        66692
Then/Folly/4/1/real_time                   10953 ns         5148 ns        65069
Then/Folly/8/1/real_time                   12089 ns         6201 ns        57760
Then/Folly/16/1/real_time                  14351 ns         8622 ns        48868
Then/Folly/32/1/real_time                  41241 ns        31060 ns        16287
Then/Folly/64/1/real_time                  71632 ns        55414 ns         8548
Then/Folly/0/2/real_time                    9551 ns         4043 ns        73385
Then/Folly/1/2/real_time                    9981 ns         4373 ns        66521
Then/Folly/2/2/real_time                   11227 ns         4768 ns        66100
Then/Folly/4/2/real_time                   11706 ns         5211 ns        60608
Then/Folly/8/2/real_time                   13564 ns         6187 ns        53214
Then/Folly/16/2/real_time                  16503 ns         7266 ns        41561
Then/Folly/32/2/real_time                  44562 ns        32327 ns        15271
Then/Folly/64/2/real_time                 100096 ns        82666 ns         7219
Then/ArangoDB/0/0/real_time                  152 ns          152 ns      4601018
Then/ArangoDB/1/0/real_time                  351 ns          351 ns      1996877
Then/ArangoDB/2/0/real_time                  546 ns          546 ns      1280023
Then/ArangoDB/4/0/real_time                  944 ns          944 ns       741606
Then/ArangoDB/8/0/real_time                 1724 ns         1723 ns       405655
Then/ArangoDB/16/0/real_time                3291 ns         3290 ns       212679
Then/ArangoDB/32/0/real_time                6420 ns         6418 ns       109155
Then/ArangoDB/64/0/real_time               12680 ns        12676 ns        55182
Then/ArangoDB/0/1/real_time                 9663 ns         3935 ns        71467
Then/ArangoDB/1/1/real_time                10295 ns         4404 ns        67920
Then/ArangoDB/2/1/real_time                10974 ns         4998 ns        65100
Then/ArangoDB/4/1/real_time                11398 ns         5507 ns        61724
Then/ArangoDB/8/1/real_time                12453 ns         6751 ns        57613
Then/ArangoDB/16/1/real_time               13397 ns         9494 ns        53004
Then/ArangoDB/32/1/real_time               15228 ns        14752 ns        45810
Then/ArangoDB/64/1/real_time               20802 ns        20792 ns        32996
Then/ArangoDB/0/2/real_time                 9747 ns         3993 ns        71964
Then/ArangoDB/1/2/real_time                11323 ns         4929 ns        65409
Then/ArangoDB/2/2/real_time                12444 ns         5610 ns        58683
Then/ArangoDB/4/2/real_time                14432 ns         7012 ns        49430
Then/ArangoDB/8/2/real_time                19861 ns        13699 ns        37022
Then/ArangoDB/16/2/real_time               31779 ns        26928 ns        21871
Then/ArangoDB/32/2/real_time               55558 ns        49752 ns        11957
Then/ArangoDB/64/2/real_time              108048 ns       102350 ns         6794
ComplexBlob/YACLib/0/real_time             15243 ns        15238 ns        45990
ComplexBlob/Folly/0/real_time              49233 ns        49218 ns        14269
ComplexBlob/ArangoDB/0/real_time           40573 ns        40560 ns        17266
ComplexBlob/YACLib/2/real_time             14296 ns        14291 ns        49327
ComplexBlob/Folly/2/real_time              49716 ns        49701 ns        14065
ComplexBlob/ArangoDB/2/real_time           40650 ns        40638 ns        17226
ComplexBlob/YACLib/4/real_time             14219 ns        14214 ns        49247
ComplexBlob/Folly/4/real_time              49662 ns        49647 ns        14064
ComplexBlob/ArangoDB/4/real_time           40523 ns        40510 ns        17280
ComplexBlob/YACLib/8/real_time             14170 ns        14165 ns        49300
ComplexBlob/Folly/8/real_time              49125 ns        49105 ns        14259
ComplexBlob/ArangoDB/8/real_time           40637 ns        40625 ns        17227
ComplexBlob/YACLib/16/real_time            14810 ns        14805 ns        47261
ComplexBlob/Folly/16/real_time             47354 ns        47340 ns        14784
ComplexBlob/ArangoDB/16/real_time          40684 ns        40671 ns        17218
ComplexBlob/YACLib/32/real_time            14662 ns        14658 ns        47698
ComplexBlob/Folly/32/real_time             47876 ns        47861 ns        14551
ComplexBlob/ArangoDB/32/real_time          37144 ns        37133 ns        18817
ComplexBlob/YACLib/64/real_time            14623 ns        14618 ns        47981
ComplexBlob/Folly/64/real_time             47940 ns        47927 ns        14620
ComplexBlob/ArangoDB/64/real_time          36256 ns        36245 ns        19299
ComplexBlob/YACLib/128/real_time           14494 ns        14490 ns        48194
ComplexBlob/Folly/128/real_time            49624 ns        49606 ns        13976
ComplexBlob/ArangoDB/128/real_time         35786 ns        35776 ns        19582
ComplexBlob/YACLib/256/real_time           15626 ns        15621 ns        44703
ComplexBlob/Folly/256/real_time            51338 ns        51320 ns        13734
ComplexBlob/ArangoDB/256/real_time         37409 ns        37397 ns        18690
ComplexBlob/YACLib/512/real_time           16120 ns        16114 ns        43457
ComplexBlob/Folly/512/real_time            53726 ns        53709 ns        13011
ComplexBlob/ArangoDB/512/real_time         39022 ns        39009 ns        18042
ComplexBlob/YACLib/1024/real_time          30454 ns        30443 ns        23027
ComplexBlob/Folly/1024/real_time           66183 ns        66160 ns        10610
ComplexBlob/ArangoDB/1024/real_time        55894 ns        55877 ns        12512
ComplexBlob/YACLib/2048/real_time          35813 ns        35802 ns        19530
ComplexBlob/Folly/2048/real_time           73955 ns        73932 ns         9460
ComplexBlob/ArangoDB/2048/real_time        63565 ns        63543 ns        11032
ComplexBlob/YACLib/4096/real_time          45005 ns        44990 ns        15552
ComplexBlob/Folly/4096/real_time           97837 ns        97801 ns         7137
ComplexBlob/ArangoDB/4096/real_time        80603 ns        80575 ns         8685
ComplexBlob/YACLib/8192/real_time         130465 ns       130425 ns         5366
ComplexBlob/Folly/8192/real_time          220868 ns       220801 ns         3167
ComplexBlob/ArangoDB/8192/real_time       165442 ns       165387 ns         4231
NoContention/YACLib/10000/real_time      1000194 ns       493196 ns          703
NoContention/Folly/10000/real_time       2177039 ns       922980 ns          322
NoContention/ArangoDB/10000/real_time    1662144 ns       890718 ns          421
Contention/YACLib/10000/real_time        1455634 ns       413853 ns          476
Contention/Folly/10000/real_time         3751467 ns       983215 ns          187
Contention/ArangoDB/10000/real_time      2499706 ns       821289 ns          284

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant