Skip to content

Commit

Permalink
add bm_adapter (#1914)
Browse files Browse the repository at this point in the history
  • Loading branch information
NullVoxPopuli authored Sep 13, 2016
1 parent 58ebf96 commit 810efb8
Showing 1 changed file with 38 additions and 0 deletions.
38 changes: 38 additions & 0 deletions test/benchmark/bm_adapter.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
require_relative './benchmarking_support'
require_relative './app'

time = 10
disable_gc = true
ActiveModelSerializers.config.key_transform = :unaltered
has_many_relationships = (0..60).map do |i|
HasManyRelationship.new(id: i, body: 'ZOMG A HAS MANY RELATIONSHIP')
end
has_one_relationship = HasOneRelationship.new(
id: 42,
first_name: 'Joao',
last_name: 'Moura'
)
primary_resource = PrimaryResource.new(
id: 1337,
title: 'New PrimaryResource',
virtual_attribute: nil,
body: 'Body',
has_many_relationships: has_many_relationships,
has_one_relationship: has_one_relationship
)
serializer = PrimaryResourceSerializer.new(primary_resource)

Benchmark.ams('attributes', time: time, disable_gc: disable_gc) do
attributes = ActiveModelSerializers::Adapter::Attributes.new(serializer)
attributes.as_json
end

Benchmark.ams('json_api', time: time, disable_gc: disable_gc) do
json_api = ActiveModelSerializers::Adapter::JsonApi.new(serializer)
json_api.as_json
end

Benchmark.ams('json', time: time, disable_gc: disable_gc) do
json = ActiveModelSerializers::Adapter::Json.new(serializer)
json.as_json
end

0 comments on commit 810efb8

Please sign in to comment.