Skip to content

aarondcohen/benchmark-guid

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GUID Benchmarks

Benchmark all noteworthy implementations of GUIDs

To run the benchmarks:

yarn install
yarn benchmark
=========
  GUIDs
=========

Platform info:
==============
   Darwin 18.2.0 x64
   Node.JS: 15.0.0
   V8: 8.6.395.16-node.15
   Intel(R) Core(TM) i7-4578U CPU @ 3.00GHz × 4

Suite: Competitors

   Id128.Ulid                           -57.3%       (4,378,372rps)   (avg: 228ns)
   Id128.Ulid Canonical                -82.28%       (1,817,086rps)   (avg: 550ns)
   Id128.Ulid Raw                      -75.13%       (2,549,770rps)   (avg: 392ns)
   Id128.UlidMonotonic                 -59.21%       (4,182,626rps)   (avg: 239ns)
   Id128.UlidMonotonic Canonical       -81.96%       (1,849,897rps)   (avg: 540ns)
   Id128.UlidMonotonic Raw             -76.09%       (2,451,986rps)   (avg: 407ns)
   Id128.Uuid1                         -50.46%       (5,079,822rps)   (avg: 196ns)
   Id128.Uuid1 Canonical               -72.09%       (2,861,373rps)   (avg: 349ns)
   Id128.Uuid4                         -36.57%       (6,504,108rps)   (avg: 153ns)
   Id128.Uuid4 Canonical               -78.86%       (2,167,110rps)   (avg: 461ns)
   Id128.Uuid6                         -57.24%       (4,384,644rps)   (avg: 228ns)
   Id128.Uuid6 Canonical               -75.47%       (2,515,266rps)   (avg: 397ns)
   Id128.UuidNil                            0%      (10,253,380rps)   (avg: 97ns)
   Id128.UuidNil Canonical             -63.39%       (3,753,652rps)   (avg: 266ns)
   Cuid                                -99.02%         (100,369rps)   (avg: 9μs)
   Ksuid                               -98.34%         (170,679rps)   (avg: 5μs)
   Nanoid                              -83.98%       (1,642,819rps)   (avg: 608ns)
   Nanoid like Uuid v4                 -87.46%       (1,286,215rps)   (avg: 777ns)
   Ulid                                -99.88%          (11,884rps)   (avg: 84μs)
   Ulid Monotonic                      -80.94%       (1,954,479rps)   (avg: 511ns)
   Uuid1345.v1                         -73.51%       (2,715,616rps)   (avg: 368ns)
   Uuid1345.v4                         -97.71%         (234,968rps)   (avg: 4μs)
   Uuidv1                               -85.4%       (1,497,052rps)   (avg: 667ns)
   Uuidv4                              -89.51%       (1,075,683rps)   (avg: 929ns)
   Uuidv6                              -89.83%       (1,043,149rps)   (avg: 958ns)
   UuidRandom                          -26.79%       (7,506,162rps)   (avg: 133ns)
   UuidRandom Canonical                -67.29%       (3,353,549rps)   (avg: 298ns)
   Uuid4                               -98.06%         (199,071rps)   (avg: 5μs)
   UuidJs                              -99.55%          (45,728rps)   (avg: 21μs)
   UuidJs v4                            -99.7%          (30,835rps)   (avg: 32μs)
   UuidJs v4 Canonical                  -99.7%          (30,928rps)   (avg: 32μs)
-----------------------------------------------------------------------

Acknowledgments

Thank you Wes Roberts for adding the uuid-random binary format.

Contributing

Feel free to make a branch and send a pull request through github

Issues

Please report any issues or bugs through github

About

Benchmark notable GUID implementations

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published