Skip to content

Instantly share code, notes, and snippets.

@subvertallchris
Last active April 10, 2016 08:51
Show Gist options
  • Save subvertallchris/caaa99727990cfd3e4b3 to your computer and use it in GitHub Desktop.
Save subvertallchris/caaa99727990cfd3e4b3 to your computer and use it in GitHub Desktop.
jbuilder vs activemodel::serializers

Each one is original first, then OJ.

rake benchmarks:single_object_with_render:

#original

Calculating -------------------------------------
            jbuilder        30 i/100ms
active_model_serializers
                           320 i/100ms
-------------------------------------------------
            jbuilder      319.7 (±6.3%) i/s -       1620 in   5.089730s
active_model_serializers
                         3303.1 (±11.3%) i/s -      16320 in   5.009399s

Comparison:
active_model_serializers:     3303.1 i/s
            jbuilder:      319.7 i/s - 10.33x slower

# oj
Calculating -------------------------------------
            jbuilder        34 i/100ms
active_model_serializers
                           322 i/100ms
-------------------------------------------------
            jbuilder      331.7 (±6.3%) i/s -       1666 in   5.045465s
active_model_serializers
                         3367.2 (±12.3%) i/s -      16744 in   5.054475s

Comparison:
active_model_serializers:     3367.2 i/s
            jbuilder:      331.7 i/s - 10.15x slower
# oj_mimic_json
Calculating -------------------------------------
            jbuilder        34 i/100ms
active_model_serializers
                           580 i/100ms
-------------------------------------------------
            jbuilder      342.5 (±5.3%) i/s -       1734 in   5.078028s
active_model_serializers
                         6217.8 (±9.5%) i/s -      31320 in   5.087445s

Comparison:
active_model_serializers:     6217.8 i/s
            jbuilder:      342.5 i/s - 18.15x slower

rake benchmarks:single_object_without_render

# original

Calculating -------------------------------------
            jbuilder       553 i/100ms
active_model_serializers
                           530 i/100ms
-------------------------------------------------
            jbuilder     5941.5 (±15.7%) i/s -      29309 in   5.059578s
active_model_serializers
                         5577.2 (±12.5%) i/s -      27560 in   5.025227s

Comparison:
            jbuilder:     5941.5 i/s
active_model_serializers:     5577.2 i/s - 1.07x slower
# oj
Calculating -------------------------------------
            jbuilder      2050 i/100ms
active_model_serializers
                           540 i/100ms
-------------------------------------------------
            jbuilder    24382.3 (±16.3%) i/s -     118900 in   5.019151s
active_model_serializers
                         5618.0 (±12.0%) i/s -      28080 in   5.072687s

Comparison:
            jbuilder:    24382.3 i/s
active_model_serializers:     5618.0 i/s - 4.34x slower
# oj_mimic_json
Calculating -------------------------------------
            jbuilder      2103 i/100ms
active_model_serializers
                          1259 i/100ms
-------------------------------------------------
            jbuilder    23871.5 (±15.8%) i/s -     117768 in   5.066891s
active_model_serializers
                        13442.0 (±16.2%) i/s -      65468 in   5.020594s

Comparison:
            jbuilder:    23871.5 i/s
active_model_serializers:    13442.0 i/s - 1.78x slower


rake benchmarks:array_of_objects_with_render:

# original
Calculating -------------------------------------
        jbuilder         5 i/100ms
active_model_serializers
                        53 i/100ms
-------------------------------------------------
        jbuilder       62.4 (±8.0%) i/s -        310 in   5.002166s
active_model_serializers
                      527.6 (±10.2%) i/s -       2650 in   5.073892s

Comparison:
active_model_serializers:      527.6 i/s
        jbuilder:       62.4 i/s - 8.46x slower
# oj
Calculating -------------------------------------
        jbuilder         6 i/100ms
active_model_serializers
                        52 i/100ms
-------------------------------------------------
        jbuilder       67.5 (±7.4%) i/s -        336 in   5.020407s
active_model_serializers
                      524.0 (±11.6%) i/s -       2600 in   5.031679s

Comparison:
active_model_serializers:      524.0 i/s
        jbuilder:       67.5 i/s - 7.76x slower
# oj_mimic_json
Calculating -------------------------------------
            jbuilder         6 i/100ms
active_model_serializers
                            85 i/100ms
-------------------------------------------------
            jbuilder       68.6 (±7.3%) i/s -        342 in   5.013836s
active_model_serializers
                          878.9 (±14.6%) i/s -       4335 in   5.056060s

Comparison:
active_model_serializers:      878.9 i/s
            jbuilder:       68.6 i/s - 12.81x slower


rake benchmarks:array_of_objects_without_render

# original
Calculating -------------------------------------
        jbuilder        44 i/100ms
active_model_serializers
                        57 i/100ms
-------------------------------------------------
        jbuilder      449.2 (±13.6%) i/s -       2244 in   5.088429s
active_model_serializers
                      571.2 (±9.8%) i/s -       2850 in   5.037699s

Comparison:
active_model_serializers:      571.2 i/s
        jbuilder:      449.2 i/s - 1.27x slower
# oj
Calculating -------------------------------------
        jbuilder       171 i/100ms
active_model_serializers
                        55 i/100ms
-------------------------------------------------
        jbuilder     1826.6 (±16.2%) i/s -       8892 in   5.059199s
active_model_serializers
                      552.5 (±11.8%) i/s -       2750 in   5.048451s

Comparison:
        jbuilder:     1826.6 i/s
active_model_serializers:      552.5 i/s - 3.31x slower
# oj_mimic_json
Calculating -------------------------------------
            jbuilder       175 i/100ms
active_model_serializers
                            94 i/100ms
-------------------------------------------------
            jbuilder     1884.6 (±14.5%) i/s -       9275 in   5.066936s
active_model_serializers
                          975.8 (±13.8%) i/s -       4794 in   5.023140s

Comparison:
            jbuilder:     1884.6 i/s
active_model_serializers:      975.8 i/s - 1.93x slower
@mmahalwy
Copy link

what is meant by without render?

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