Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1217)

Unified Diff: third_party/JSON/JSON-2.59/eg/bench_encode.pl

Issue 15736030: Add JSON.pm to third_party (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix permissions and shebangs Created 7 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/JSON/JSON-2.59/eg/bench_decode.pl ('k') | third_party/JSON/JSON-2.59/lib/JSON.pm » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/JSON/JSON-2.59/eg/bench_encode.pl
diff --git a/third_party/JSON/JSON-2.59/eg/bench_encode.pl b/third_party/JSON/JSON-2.59/eg/bench_encode.pl
new file mode 100755
index 0000000000000000000000000000000000000000..d360a5c3e8823b2e3e79ab59b5f5ccf825ab8a2e
--- /dev/null
+++ b/third_party/JSON/JSON-2.59/eg/bench_encode.pl
@@ -0,0 +1,86 @@
+#!/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 "->encode()\n";
+print "-----------------------------------\n";
+
+$result = timethese( -$wanttime,
+ {
+ 'JSON::PP' => sub { $pp->encode( $perl ) },
+ 'JSON::XS' => sub { $xs->encode( $perl ) },
+ },
+ 'none'
+);
+cmpthese( $result );
+
+print "-----------------------------------\n";
+print "->pretty->canonical->encode()\n";
+print "-----------------------------------\n";
+
+$pp->pretty->canonical;
+$xs->pretty->canonical;
+
+$result = timethese( -$wanttime,
+ {
+ 'JSON::PP' => sub { $pp->encode( $perl ) },
+ 'JSON::XS' => sub { $xs->encode( $perl ) },
+ },
+ 'none'
+);
+cmpthese( $result );
+
+print "-----------------------------------\n";
+
+
+__END__
+
+=pod
+
+=head1 SYNOPSYS
+
+ bench_encode.pl json-file
+ # or
+ bench_encode.pl json-file minimum-time
+
+=head1 DESCRIPTION
+
+L<JSON::PP> and L<JSON::XS> encoding 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
+
« no previous file with comments | « third_party/JSON/JSON-2.59/eg/bench_decode.pl ('k') | third_party/JSON/JSON-2.59/lib/JSON.pm » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698