Commit Graph

8 Commits

Author SHA1 Message Date
Benjamin Fleischer
d0ef3d1c89 Remove sqlite db from version control 2017-10-13 17:53:04 -05:00
Benjamin Fleischer
6c90fc98c1 Turn off (slow) AMS case transform
```
$ bundle exec ruby benchmark.rb
-- create_table("comments", {:force=>:cascade})
   -> 0.0127s
-- create_table("posts", {:force=>:cascade})
   -> 0.0030s
-- create_table("users", {:force=>:cascade})
   -> 0.0018s
Warming up --------------------------------------
    ams                  1.000  i/100ms
    jsonapi-rb           4.000  i/100ms
    ams        eager     2.000  i/100ms
    jsonapi-rb eager     9.000  i/100ms
Calculating -------------------------------------
    ams                  16.572  (± 1.4%) i/s -    164.000  in  10.003051s
    jsonapi-rb           45.722  (± 0.9%) i/s -    460.000  in  10.084399s
    ams        eager     21.037  (± 0.8%) i/s -    212.000  in  10.099436s
    jsonapi-rb eager     97.010  (± 1.3%) i/s -    972.000  in  10.069614s
                   with 95.0% confidence

Comparison:
    jsonapi-rb eager:       97.0 i/s
    jsonapi-rb      :       45.7 i/s - 2.12x  (± 0.03) slower
    ams        eager:       21.0 i/s - 4.61x  (± 0.07) slower
    ams             :       16.6 i/s - 5.85x  (± 0.11) slower
                   with 95.0% confidence

Calculating -------------------------------------
    ams                  3.793M memsize (   185.000k retained)
                        44.737k objects (     2.549k retained)
                        50.000  strings (    40.000  retained)
    jsonapi-rb           1.873M memsize (     0.000  retained)
                        21.424k objects (     0.000  retained)
                        50.000  strings (     0.000  retained)
    ams        eager     2.923M memsize (   180.848k retained)
                        34.285k objects (     2.433k retained)
                        50.000  strings (    46.000  retained)
    jsonapi-rb eager   899.226k memsize (     0.000  retained)
                         9.485k objects (     0.000  retained)
                        50.000  strings (     0.000  retained)

Comparison:
    jsonapi-rb eager:     899226 allocated
    jsonapi-rb      :    1873384 allocated - 2.08x more
    ams        eager:    2922890 allocated - 3.25x more
    ams             :    3792800 allocated - 4.22x more
```
2017-10-13 16:00:52 -05:00
Benjamin Fleischer
919feafa0a Clarify code a bit 2017-10-12 23:38:06 -05:00
Benjamin Fleischer
5d3ecb2f16 Consistent records 2017-10-12 23:37:34 -05:00
Benjamin Fleischer
f7da64f7e7 Benchamrks are an app which requires us to track the Gemfile.lock 2017-10-12 15:32:42 -05:00
Benjamin Fleischer
5ca3e96914 Fix JSONAPI:Serializer test
```
$ bundle exec ruby benchmark.rb
-- create_table("comments", {:force=>:cascade})
   -> 0.0066s
-- create_table("posts", {:force=>:cascade})
   -> 0.0029s
-- create_table("users", {:force=>:cascade})
   -> 0.0017s
Warming up --------------------------------------
    ams                  2.000  i/100ms
    jsonapi-rb           7.000  i/100ms
    ams        eager     2.000  i/100ms
    jsonapi-rb eager    12.000  i/100ms
Calculating -------------------------------------
    ams                  20.397  (± 1.7%) i/s -    204.000  in  10.097255s
    jsonapi-rb           74.981  (± 0.8%) i/s -    756.000  in  10.100857s
    ams        eager     23.117  (± 0.6%) i/s -    232.000  in  10.047664s
    jsonapi-rb eager    125.521  (± 0.8%) i/s -      1.260k in  10.054734s
                   with 95.0% confidence

Comparison:
    jsonapi-rb eager:      125.5 i/s
    jsonapi-rb      :       75.0 i/s - 1.67x  (± 0.02) slower
    ams        eager:       23.1 i/s - 5.43x  (± 0.05) slower
    ams             :       20.4 i/s - 6.15x  (± 0.12) slower
                   with 95.0% confidence

Calculating -------------------------------------
    ams                  2.688M memsize (   188.498k retained)
                        33.331k objects (     2.554k retained)
                        50.000  strings (    50.000  retained)
    jsonapi-rb           1.038M memsize (     0.000  retained)
                        11.784k objects (     0.000  retained)
                        50.000  strings (     0.000  retained)
    ams        eager     2.470M memsize (   184.410k retained)
                        30.534k objects (     2.439k retained)
                        50.000  strings (    50.000  retained)
    jsonapi-rb eager   715.124k memsize (     0.000  retained)
                         7.500k objects (     0.000  retained)
                        50.000  strings (     0.000  retained)

Comparison:
    jsonapi-rb eager:     715124 allocated
    jsonapi-rb      :    1037676 allocated - 1.45x more
    ams        eager:    2469640 allocated - 3.45x more
    ams             :    2688112 allocated - 3.76x more

```
2017-10-12 15:32:37 -05:00
Benjamin Fleischer
0a366b4ca9 Remove commented out code 2017-10-12 15:25:41 -05:00
Preston Sego
43c1518cff compare ams with jsonapi-rb 2017-08-03 08:39:02 -04:00