| Index: third_party/JSON/JSON-2.59/eg/bench_decode.pl
|
| diff --git a/third_party/JSON/JSON-2.59/eg/bench_decode.pl b/third_party/JSON/JSON-2.59/eg/bench_decode.pl
|
| new file mode 100755
|
| index 0000000000000000000000000000000000000000..cfa0f5f3e87ae53ff0a367003fafdcdb74a28c9d
|
| --- /dev/null
|
| +++ b/third_party/JSON/JSON-2.59/eg/bench_decode.pl
|
| @@ -0,0 +1,70 @@
|
| +#!/usr/bin/perl
|
| +
|
| +use strict;
|
| +use warnings;
|
| +use Benchmark qw( cmpthese timethese );
|
| +
|
| +our $VERSION = '1.00';
|
| +
|
| +my $wanttime = $ARGV[1] || 5;
|
| +
|
| +use JSON qw( -support_by_pp -no_export ); # for JSON::PP::Boolean inheritance
|
| +use JSON::PP ();
|
| +use JSON::XS ();
|
| +use utf8;
|
| +
|
| +my $pp = JSON::PP->new->utf8;
|
| +my $xs = JSON::XS->new->utf8;
|
| +
|
| +local $/;
|
| +
|
| +my $json = <>;
|
| +my $perl = JSON::XS::decode_json $json;
|
| +my $result;
|
| +
|
| +
|
| +printf( "JSON::PP %s\n", JSON::PP->VERSION );
|
| +printf( "JSON::XS %s\n", JSON::XS->VERSION );
|
| +
|
| +
|
| +print "-----------------------------------\n";
|
| +print "->decode()\n";
|
| +print "-----------------------------------\n";
|
| +
|
| +$result = timethese( -$wanttime,
|
| + {
|
| + 'JSON::PP' => sub { $pp->decode( $json ) },
|
| + 'JSON::XS' => sub { $xs->decode( $json ) },
|
| + },
|
| + 'none'
|
| +);
|
| +cmpthese( $result );
|
| +
|
| +print "-----------------------------------\n";
|
| +
|
| +
|
| +__END__
|
| +
|
| +=pod
|
| +
|
| +=head1 SYNOPSYS
|
| +
|
| + bench_decode.pl json-file
|
| + # or
|
| + bench_decode.pl json-file minimum-time
|
| +
|
| +=head1 DESCRIPTION
|
| +
|
| +L<JSON::PP> and L<JSON::XS> decoding benchmark.
|
| +
|
| +=head1 AUTHOR
|
| +
|
| +makamaka
|
| +
|
| +=head1 LISENCE
|
| +
|
| +This library is free software; you can redistribute it and/or modify it
|
| +under the same terms as Perl itself.
|
| +
|
| +=cut
|
| +
|
|
|