@@ -18,6 +18,12 @@ defmodule BasicBench do
18
18
@ long_string "StringShouldChange-some_stuffStringShouldChange-some_stuffStringShouldChange-some_stuffStringShouldChange-some_stuffStringShouldChange-some_stuff"
19
19
@ short_string "StringShouldChange-some_stuff"
20
20
21
+ @ payload_camel_cased File . read! ( "bench/test-payload-camel-cased.json" ) |> Poison . decode! ( )
22
+ @ large_payload_camel_cased 1 .. 100 |> Enum . reduce ( % { } , fn ( x , acc ) -> Map . put ( acc , "key#{ x } " , @ payload_camel_cased ) end )
23
+
24
+ @ payload_snake_cased File . read! ( "bench/test-payload-camel-cased.json" ) |> Poison . decode! ( )
25
+ @ large_payload_snake_cased 1 .. 100 |> Enum . reduce ( % { } , fn ( x , acc ) -> Map . put ( acc , "key#{ x } " , @ payload_snake_cased ) end )
26
+
21
27
bench "macro_underscore - long" do
22
28
@ long_string |> macro_underscore
23
29
end
@@ -33,4 +39,20 @@ defmodule BasicBench do
33
39
bench "regex_underscore - short" do
34
40
@ short_string |> regex_underscore
35
41
end
42
+
43
+ bench "large dict camel cased with low perf underscore" do
44
+ @ large_payload_camel_cased |> AtomicMap . convert ( safe: false , underscore: true , high_perf: false )
45
+ end
46
+
47
+ bench "large dict camel cased with high perf underscore" do
48
+ @ large_payload_camel_cased |> AtomicMap . convert ( safe: false , underscore: true , high_perf: true )
49
+ end
50
+
51
+ bench "large dict snake cased with low perf underscore" do
52
+ @ large_payload_snake_cased |> AtomicMap . convert ( safe: false , underscore: true , high_perf: false )
53
+ end
54
+
55
+ bench "large dict snake cased with high perf underscore" do
56
+ @ large_payload_snake_cased |> AtomicMap . convert ( safe: false , underscore: true , high_perf: true )
57
+ end
36
58
end
0 commit comments