mirror of
https://github.com/ditkrg/active_model_serializers.git
synced 2026-01-23 14:29:31 +00:00
35 lines
1.2 KiB
Ruby
35 lines
1.2 KiB
Ruby
require_relative './benchmarking_support'
|
|
require_relative './app'
|
|
|
|
time = 10
|
|
disable_gc = true
|
|
ActiveModelSerializers.config.key_transform = :unaltered
|
|
comments = (0..50).map do |i|
|
|
Comment.new(id: i, body: 'ZOMG A COMMENT')
|
|
end
|
|
author = Author.new(id: 42, first_name: 'Joao', last_name: 'Moura')
|
|
post = Post.new(id: 1337, title: 'New Post', blog: nil, body: 'Body', comments: comments, author: author)
|
|
serializer = PostSerializer.new(post)
|
|
adapter = ActiveModelSerializers::Adapter::JsonApi.new(serializer)
|
|
serialization = adapter.as_json
|
|
|
|
Benchmark.ams('camel', time: time, disable_gc: disable_gc) do
|
|
ActiveModelSerializers::KeyTransform.camel(serialization)
|
|
end
|
|
|
|
Benchmark.ams('camel_lower', time: time, disable_gc: disable_gc) do
|
|
ActiveModelSerializers::KeyTransform.camel_lower(serialization)
|
|
end
|
|
|
|
Benchmark.ams('dash', time: time, disable_gc: disable_gc) do
|
|
ActiveModelSerializers::KeyTransform.dash(serialization)
|
|
end
|
|
|
|
Benchmark.ams('unaltered', time: time, disable_gc: disable_gc) do
|
|
ActiveModelSerializers::KeyTransform.unaltered(serialization)
|
|
end
|
|
|
|
Benchmark.ams('underscore', time: time, disable_gc: disable_gc) do
|
|
ActiveModelSerializers::KeyTransform.underscore(serialization)
|
|
end
|