Skip to content

Instantly share code, notes, and snippets.

@epitron
Last active March 4, 2018 21:48
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 2 You must be signed in to fork a gist
  • Save epitron/f04935a87fc1887d76e7bbf55187fa63 to your computer and use it in GitHub Desktop.
Save epitron/f04935a87fc1887d76e7bbf55187fa63 to your computer and use it in GitHub Desktop.
CockroachDB vs PostgreSQL vs MySQL vs SQLite
activerecord-cockroachdb activerecord-postgresql activerecord-mysql activerecord-sqlite Benchmark
9.216770* (60720k) 9.590111 (60984k) 12.455487 (69168k) 18.465701 (64944k) Model Object Creation: 3200 objects (No Transaction)
0.900417 (0k) 0.893337 (0k) 0.832904 (0k) 0.707108* (0k) Model Object Creation: 3200 objects (Transaction)
2.031437* (337128k) 2.070499 (336864k) 2.181665 (332112k) 2.215748 (333432k) Model Object Select: 6400 objects 64 times (No Transaction)
2.004822 (0k) 1.984105* (0k) 2.121498 (264k) 2.175031 (0k) Model Object Select: 6400 objects 64 times (Transaction)
3.460825 (0k) 3.337974 (0k) 3.875209 (0k) 2.622881* (0k) Model Object Select PK: 640 objects 64 times (No Transaction)
3.372082 (0k) 3.247312 (0k) 3.786783 (0k) 2.253132* (0k) Model Object Select PK: 640 objects 64 times (Transaction)
3.594136 (0k) 3.431209 (0k) 4.428752 (0k) 2.679963* (0k) Model Object Select Hash: 640 objects 64 times (No Transaction)
3.473371 (0k) 3.358583 (0k) 3.800874 (0k) 2.409768* (0k) Model Object Select Hash: 640 objects 64 times (Transaction)
9.840030 (0k) 9.264736* (0k) 12.891175 (0k) 42.004477 (0k) Model Object Select and Save: 3200 objects (No Transaction)
1.103203 (0k) 1.083045 (0k) 1.051630 (0k) 0.942358* (0k) Model Object Select and Save: 3200 objects (Transaction)
16.128600 (0k) 15.624072* (0k) 22.646096 (0k) 93.781598 (0k) Model Object Destruction: 6400 objects (No Transaction)
1.131546 (0k) 1.218650 (0k) 1.004618 (0k) 0.955364* (0k) Model Object Destruction: 6400 objects (Transaction)
7.725958* (0k) 8.034783 (0k) 11.055304 (0k) 40.208141 (0k) Model Object And Associated Object Creation: 1280 objects (No Transaction)
0.990987 (0k) 0.959792 (0k) 0.902585 (0k) 0.832600* (0k) Model Object And Associated Object Creation: 1280 objects (Transaction)
12.386618 (0k) 11.725306* (0k) 24.069111 (0k) 50.870879 (0k) Model Object and Associated Object Destruction: 1600 objects (No Transaction)
1.750729 (0k) 1.671747 (0k) 2.000143 (0k) 1.357527* (0k) Model Object and Associated Object Destruction: 1600 objects (Transaction)
13.655144 (1601092k) 13.478025 (1601408k) 13.173748* (1602172k) 13.214247 (1600832k) Eager Loading Query Per Association With 1-1 Records: 1280 objects 45 times (No Transaction)
13.348891 (1320k) 13.195825 (1056k) 13.073832* (1320k) 13.127007 (1320k) Eager Loading Query Per Association With 1-1 Records: 1280 objects 45 times (Transaction)
13.606769 (16368k) 13.354009* (16368k) 13.354963 (13992k) 13.373099 (16368k) Eager Loading Single Query With 1-1 Records: 1280 objects 45 times (No Transaction)
13.731662 (0k) 13.429344 (0k) 13.363984 (0k) 13.199763* (0k) Eager Loading Single Query With 1-1 Records: 1280 objects 45 times (Transaction)
4.303812* (0k) 4.341772 (0k) 4.345008 (0k) 4.357635 (0k) Eager Loading Query Per Association With 1-64 Records: 4096 objects 45 times (No Transaction)
4.175968* (0k) 4.249743 (0k) 4.249691 (0k) 4.229735 (0k) Eager Loading Query Per Association With 1-64 Records: 4096 objects 45 times (Transaction)
5.781076 (0k) 5.318649* (0k) 5.352896 (0k) 5.435730 (0k) Eager Loading Single Query With 1-64 Records: 4096 objects 45 times (No Transaction)
5.826044 (0k) 5.311044 (0k) 5.289884* (0k) 5.405200 (0k) Eager Loading Single Query With 1-64 Records: 4096 objects 45 times (Transaction)
2.941447* (0k) 3.024964 (0k) 3.036615 (0k) 3.060323 (0k) Eager Loading Query Per Association With 1-64-64 Records: 8192 objects 18 times (No Transaction)
2.964751 (0k) 2.989757 (0k) 3.049735 (0k) 2.772627* (0k) Eager Loading Query Per Association With 1-64-64 Records: 8192 objects 18 times (Transaction)
4.922446 (0k) 4.418022 (0k) 3.362614* (0k) Eager Loading Single Query With 1-64-64 Records: 8192 objects 1 time (No Transaction)
5.050928 (0k) 4.425283 (0k) 3.327199* (0k) Eager Loading Single Query With 1-64-64 Records: 8192 objects 1 time (Transaction)
0.812354* (0k) 0.871132 (0k) 1.188147 (0k) Lazy Loading With 1-1 Records: 1280 objects 1 time (No Transaction)
0.876982 (0k) 0.833451* (0k) 1.150274 (0k) Lazy Loading With 1-1 Records: 1280 objects 1 time (Transaction)
3.365833 (0k) 3.330629* (0k) 4.856760 (0k) Lazy Loading With 1-64 Records: 4096 objects 32 times (No Transaction)
3.373998 (0k) 3.364172* (0k) 4.891972 (0k) Lazy Loading With 1-64 Records: 4096 objects 32 times (Transaction)
4.063685 (10152k) 3.997603* (10156k) 5.717805 (15192k) Light Threading with 8 threads (No Transaction)
31.398283* (155348k) 33.643044 (155280k) 44.782067 (196336k) Heavy Threading with 64 threads (No Transaction)
0.049212* (0k) Model Object Select JSON Nested: 640 objects 64 times (No Transaction)
0.067220* (0k) Model Object Select JSON Nested: 640 objects 64 times (Transaction)
0.052669* (0k) Model Object Update JSON Nested: 640 objects 64 times (No Transaction)
0.064983* (0k) Model Object Update JSON Nested: 640 objects 64 times (Transaction)
0.060322* (0k) Model Object Update JSON: 640 objects 64 times (No Transaction)
0.053843* (0k) Model Object Update JSON: 640 objects 64 times (Transaction)
@epitron
Copy link
Author

epitron commented Apr 15, 2017

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment