Is $data->{str} marked as UTF8? yes JSON: {"str":"şopârliţe","pi":3.14,"zero":0,"nul":null} JSON::DWIW: {"str":"şopârliţe","pi":3.14,"zero":0,"nul":null} JSON::Syck: {"str":"şopârliţe","pi":3.14,"zero":0,"nul":null} JSON::XS: {"str":"şopârliţe","pi":3.14,"zero":0,"nul":null} JSON::XS(OOP): {"str":"şopârliţe","pi":3.14,"zero":0,"nul":null} Benchmark: running JSON, JSON::DWIW, JSON::Syck, JSON::XS, JSON::XS(OOP) for at least 1 CPU seconds... JSON: 0 wallclock secs ( 1.08 usr + 0.00 sys = 1.08 CPU) @ 39821.30/s (n=43007) JSON::DWIW: 1 wallclock secs ( 1.10 usr + 0.00 sys = 1.10 CPU) @ 24435.45/s (n=26879) JSON::Syck: 1 wallclock secs ( 1.09 usr + 0.00 sys = 1.09 CPU) @ 21920.18/s (n=23893) JSON::XS: 1 wallclock secs ( 1.04 usr + 0.00 sys = 1.04 CPU) @ 31810.58/s (n=33083) JSON::XS(OOP): 1 wallclock secs ( 1.07 usr + 0.00 sys = 1.07 CPU) @ 44659.81/s (n=47786) Rate JSON::Syck JSON::DWIW JSON::XS JSON JSON::XS(OOP) JSON::Syck 21920/s -- -10% -31% -45% -51% JSON::DWIW 24435/s 11% -- -23% -39% -45% JSON::XS 31811/s 45% 30% -- -20% -29% JSON 39821/s 82% 63% 25% -- -11% JSON::XS(OOP) 44660/s 104% 83% 40% 12% -- Is $data->{str} marked as UTF8? yes JSON: {"str":"şopârliţe","pi":3.14,"zero":0,"nul":null} JSON::DWIW: {"str":"şopârliţe","pi":3.14,"zero":0,"nul":null} JSON::Syck: {"str":"şopârliţe","pi":3.14,"zero":0,"nul":null} JSON::XS: {"str":"şopârliţe","pi":3.14,"zero":0,"nul":null} JSON::XS(OOP): {"str":"şopârliţe","pi":3.14,"zero":0,"nul":null} Benchmark: running JSON, JSON::DWIW, JSON::Syck, JSON::XS, JSON::XS(OOP) for at least 1 CPU seconds... JSON: 0 wallclock secs ( 1.08 usr + 0.00 sys = 1.08 CPU) @ 39821.30/s (n=43007) JSON::DWIW: 1 wallclock secs ( 1.03 usr + 0.01 sys = 1.04 CPU) @ 24325.00/s (n=25298) JSON::Syck: 1 wallclock secs ( 1.05 usr + 0.00 sys = 1.05 CPU) @ 21557.14/s (n=22635) JSON::XS: 1 wallclock secs ( 1.04 usr + 0.00 sys = 1.04 CPU) @ 31810.58/s (n=33083) JSON::XS(OOP): 1 wallclock secs ( 1.06 usr + 0.01 sys = 1.07 CPU) @ 44659.81/s (n=47786) Rate JSON::Syck JSON::DWIW JSON::XS JSON JSON::XS(OOP) JSON::Syck 21557/s -- -11% -32% -46% -52% JSON::DWIW 24325/s 13% -- -24% -39% -46% JSON::XS 31811/s 48% 31% -- -20% -29% JSON 39821/s 85% 64% 25% -- -11% JSON::XS(OOP) 44660/s 107% 84% 40% 12% -- Is $data->{str} marked as UTF8? yes JSON: {"str":"şopârliţe","pi":3.14,"zero":0,"nul":null} JSON::DWIW: {"str":"şopârliţe","pi":3.14,"zero":0,"nul":null} JSON::Syck: {"str":"şopârliţe","pi":3.14,"zero":0,"nul":null} JSON::XS: {"str":"şopârliţe","pi":3.14,"zero":0,"nul":null} JSON::XS(OOP): {"str":"şopârliţe","pi":3.14,"zero":0,"nul":null} Benchmark: running JSON, JSON::DWIW, JSON::Syck, JSON::XS, JSON::XS(OOP) for at least 1 CPU seconds... JSON: 1 wallclock secs ( 1.06 usr + 0.00 sys = 1.06 CPU) @ 40572.64/s (n=43007) JSON::DWIW: 1 wallclock secs ( 1.10 usr + 0.00 sys = 1.10 CPU) @ 24435.45/s (n=26879) JSON::Syck: 2 wallclock secs ( 1.10 usr + 0.00 sys = 1.10 CPU) @ 21720.91/s (n=23893) JSON::XS: 1 wallclock secs ( 1.04 usr + 0.00 sys = 1.04 CPU) @ 31810.58/s (n=33083) JSON::XS(OOP): 1 wallclock secs ( 1.07 usr + 0.00 sys = 1.07 CPU) @ 44659.81/s (n=47786) Rate JSON::Syck JSON::DWIW JSON::XS JSON JSON::XS(OOP) JSON::Syck 21721/s -- -11% -32% -46% -51% JSON::DWIW 24435/s 12% -- -23% -40% -45% JSON::XS 31811/s 46% 30% -- -22% -29% JSON 40573/s 87% 66% 28% -- -9% JSON::XS(OOP) 44660/s 106% 83% 40% 10% --