Last active
December 18, 2015 07:08
-
-
Save spilliton/5743965 to your computer and use it in GitHub Desktop.
Comparing random() and random_by_id_shuffle() on sqlite3 and postgres
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DB=sqlite3 ruby test/benchmark_test.rb | |
DB driver: sqlite3 | |
Using 1.9.2 AR 3.2.13 with sqlite3 | |
Loaded suite test/benchmark_test | |
Started | |
------------------------------------- | |
Time to populate 10,000,000 rows: 1102.7106530666351s | |
random(1), avg: 18.829100692272185s (55.41% faster) | |
random_by_id_shuffle(1), avg: 42.231236004829405s | |
random(10), avg: 20.207807648181916s (52.24% faster) | |
random_by_id_shuffle(10), avg: 42.31214001178741s | |
random(50), avg: 22.443508899211885s (46.46% faster) | |
random_by_id_shuffle(50), avg: 41.919328558444974s | |
random(100), avg: 26.120035099983216s (38.34% faster) | |
random_by_id_shuffle(100), avg: 42.362687063217166s | |
random(250), avg: 26.95281069278717s (36.65% faster) | |
random_by_id_shuffle(250), avg: 42.54290119409561s | |
------------------------------------- | |
Time to populate 1,000,000 rows: 13.883656978607178s | |
random(1), avg: 1.8528056502342225s (53.91% faster) | |
random_by_id_shuffle(1), avg: 4.019701445102692s | |
random(10), avg: 1.9997926473617553s (50.81% faster) | |
random_by_id_shuffle(10), avg: 4.065062153339386s | |
random(50), avg: 2.2064947128295898s (47.57% faster) | |
random_by_id_shuffle(50), avg: 4.208296811580658s | |
random(100), avg: 2.541466701030731s (39.5% faster) | |
random_by_id_shuffle(100), avg: 4.200597739219665s | |
random(250), avg: 2.646264445781708s (36.99% faster) | |
random_by_id_shuffle(250), avg: 4.199914753437042s | |
------------------------------------- | |
Time to populate 100,000 rows: 1.3082890510559082s | |
random(1), avg: 0.18094995021820068s (55.08% faster) | |
random_by_id_shuffle(1), avg: 0.4028286933898926s | |
random(10), avg: 0.19761059284210206s (49.66% faster) | |
random_by_id_shuffle(10), avg: 0.3925348401069641s | |
random(50), avg: 0.22198199033737182s (45.69% faster) | |
random_by_id_shuffle(50), avg: 0.4087666392326355s | |
random(100), avg: 0.22314568758010864s (46.92% faster) | |
random_by_id_shuffle(100), avg: 0.4204226851463318s | |
random(250), avg: 0.2806596040725708s (36.28% faster) | |
random_by_id_shuffle(250), avg: 0.4404726028442383s | |
------------------------------------- | |
Time to populate 10,000 rows: 0.11606597900390625s | |
random(1), avg: 0.017534005641937255s (57.1% faster) | |
random_by_id_shuffle(1), avg: 0.04087449312210083s | |
random(10), avg: 0.019865202903747558s (51.04% faster) | |
random_by_id_shuffle(10), avg: 0.04057130813598633s | |
random(50), avg: 0.023113954067230224s (44.75% faster) | |
random_by_id_shuffle(50), avg: 0.041835463047027587s | |
random(100), avg: 0.026287496089935303s (39.07% faster) | |
random_by_id_shuffle(100), avg: 0.043144392967224124s | |
random(250), avg: 0.03904709815979004s (22.79% faster) | |
random_by_id_shuffle(250), avg: 0.050575292110443114s | |
. | |
Finished in 8345.587737 seconds. | |
1 tests, 0 assertions, 0 failures, 0 errors, 0 skips | |
Test run options: --seed 32788 | |
DB=postgres ruby test/benchmark_test.rb | |
DB driver: postgres | |
ERROR: permission denied to create database | |
Using 1.9.2 AR 3.2.13 with postgres | |
NOTICE: CREATE TABLE will create implicit sequence "artists_id_seq" for serial column "artists.id" | |
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "artists_pkey" for table "artists" | |
NOTICE: CREATE TABLE will create implicit sequence "albums_id_seq" for serial column "albums.id" | |
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "albums_pkey" for table "albums" | |
Loaded suite test/benchmark_test | |
Started | |
------------------------------------- | |
Time to populate 10,000,000 rows: 7951.624568223953s | |
random(1), avg: 5.918170940876007s (85.49% faster) | |
random_by_id_shuffle(1), avg: 40.781468749046326s | |
random(10), avg: 5.940257751941681s (83.35% faster) | |
random_by_id_shuffle(10), avg: 35.67704379558563s | |
random(50), avg: 5.918898487091065s (83.63% faster) | |
random_by_id_shuffle(50), avg: 36.15551409721375s | |
random(100), avg: 5.924346649646759s (83.72% faster) | |
random_by_id_shuffle(100), avg: 36.383730947971344s | |
random(250), avg: 5.940438055992127s (84.4% faster) | |
random_by_id_shuffle(250), avg: 38.08365190029144s | |
------------------------------------- | |
Time to populate 1,000,000 rows: 79.25174498558044s | |
random(1), avg: 0.9308391571044922s (78.41% faster) | |
random_by_id_shuffle(1), avg: 4.310875499248505s | |
random(10), avg: 0.9131646513938904s (75.66% faster) | |
random_by_id_shuffle(10), avg: 3.751894640922546s | |
random(50), avg: 0.9309792518615723s (75.82% faster) | |
random_by_id_shuffle(50), avg: 3.849833357334137s | |
random(100), avg: 0.9280086040496827s (76.25% faster) | |
random_by_id_shuffle(100), avg: 3.9068794012069703s | |
random(250), avg: 0.9218217492103576s (76.47% faster) | |
random_by_id_shuffle(250), avg: 3.9171346068382262s | |
------------------------------------- | |
Time to populate 100,000 rows: 7.2527501583099365s | |
random(1), avg: 0.43009945154190066s (45.9% faster) | |
random_by_id_shuffle(1), avg: 0.7950377464294434s | |
random(10), avg: 0.4361409068107605s (39.36% faster) | |
random_by_id_shuffle(10), avg: 0.7192211389541626s | |
random(50), avg: 0.4312728524208069s (39.6% faster) | |
random_by_id_shuffle(50), avg: 0.7140729904174805s | |
random(100), avg: 0.43085269927978515s (43.68% faster) | |
random_by_id_shuffle(100), avg: 0.7649938464164734s | |
random(250), avg: 0.4430608034133911s (38.67% faster) | |
random_by_id_shuffle(250), avg: 0.7224304914474488s | |
------------------------------------- | |
Time to populate 10,000 rows: 0.91068434715271s | |
random(1), avg: 0.37840344905853274s (7.11% faster) | |
random_by_id_shuffle(1), avg: 0.40735535621643065s | |
random(10), avg: 0.3792749047279358s (30.17% faster) | |
random_by_id_shuffle(10), avg: 0.5431696534156799s | |
random(50), avg: 0.38295539617538454s (5.76% faster) | |
random_by_id_shuffle(50), avg: 0.40637620687484743s | |
random(100), avg: 0.38781850337982177s (5.58% faster) | |
random_by_id_shuffle(100), avg: 0.4107487559318542s | |
random(250), avg: 0.39152764081954955s (7.31% faster) | |
random_by_id_shuffle(250), avg: 0.4224120855331421s | |
. | |
Finished in 13082.458287 seconds. | |
1 tests, 0 assertions, 0 failures, 0 errors, 0 skips | |
Test run options: --seed 40500 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment