active_model_serializers/README.md
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

66 lines
2.3 KiB
Markdown

# AMS Benchmarking
## Benchmarks
### Comparison with other Serialization Libraries
```bash
cd benchmarks/serialization_libraries
bundle install
bundle exec ruby benchmark
```
yields
```plain
-- 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
```
## Contributing
See [CONTRIBUTING.md](CONTRIBUTING.md)