NAME Benchmark::Serialize - Benchmarks of serialization modules SYNOPSIS use Benchmark::Serialise qw(cmpthese); my $structure = { array => [ 'a' .. 'j' ], hash => { 'a' .. 'z' ] string => 'x' x 200, }; cmpthese( -5, $structure, qw(:core :json :yaml) ); DESCRIPTION This module encapsulates some basic benchmarks to help you choose a module for serializing data. Note that using this module is only a part of chosing a serialization format. Other factors than the benchmarked might be of relevance! See the in-module documentation for more information. RESULTS Modules Bencode : 1.31 Convert::Bencode : 1.03 Convert::Bencode_XS : 0.06 Data::Dumper : 2.125 Data::Taxi : 0.95 FreezeThaw : 0.45 JSON::PP : 2.26000 JSON::XS : 2.26 PHP::Serialization : 0.33 RPC::XML : 1.44 Storable : 2.21 XML::Simple : 2.18 YAML::Old : 0.81 YAML::Tiny : 1.40 YAML::XS : 0.32 Sizes bytes Bencode Convert::Bencode Convert::Bencode_XS YAML::XS JSON::XS JSON::PP YAML::Old YAML::Tiny Storable FreezeThaw XML::Simple PHP::Serialization Data::Taxi Data::Dumper RPC::XML Bencode 339 -- 0% 0% -5% -10% -10% -10% -11% -11% -13% -32% -43% -67% -68% -80% Convert::Bencode 339 0% -- 0% -5% -10% -10% -10% -11% -11% -13% -32% -43% -67% -68% -80% Convert::Bencode_XS 339 0% 0% -- -5% -10% -10% -10% -11% -11% -13% -32% -43% -67% -68% -80% YAML::XS 357 5% 5% 5% -- -5% -5% -5% -6% -7% -9% -29% -40% -65% -66% -79% JSON::XS 376 11% 11% 11% 5% -- 0% -0% -1% -2% -4% -25% -37% -63% -64% -78% JSON::PP 376 11% 11% 11% 5% 0% -- -0% -1% -2% -4% -25% -37% -63% -64% -78% YAML::Old 377 11% 11% 11% 6% 0% 0% -- -1% -1% -4% -25% -36% -63% -64% -78% YAML::Tiny 379 12% 12% 12% 6% 1% 1% 1% -- -1% -3% -25% -36% -63% -64% -78% Storable 382 13% 13% 13% 7% 2% 2% 1% 1% -- -2% -24% -36% -63% -64% -78% FreezeThaw 391 15% 15% 15% 10% 4% 4% 4% 3% 2% -- -22% -34% -62% -63% -77% XML::Simple 502 48% 48% 48% 41% 34% 34% 33% 32% 31% 28% -- -15% -51% -53% -71% PHP::Serialization 593 75% 75% 75% 66% 58% 58% 57% 56% 55% 52% 18% -- -42% -44% -65% Data::Taxi 1028 203% 203% 203% 188% 173% 173% 173% 171% 169% 163% 105% 73% -- -3% -40% Data::Dumper 1058 212% 212% 212% 196% 181% 181% 181% 179% 177% 171% 111% 78% 3% -- -38% RPC::XML 1712 405% 405% 405% 380% 355% 355% 354% 352% 348% 338% 241% 189% 67% 62% -- Deflate Rate YAML::Old RPC::XML Data::Taxi PHP::Serialization XML::Simple JSON::PP YAML::Tiny Bencode Convert::Bencode Data::Dumper FreezeThaw YAML::XS Storable Convert::Bencode_XS JSON::XS YAML::Old 241/s -- -85% -87% -90% -91% -92% -94% -97% -97% -97% -98% -98% -99% -99% -100% RPC::XML 1643/s 581% -- -11% -33% -42% -47% -62% -79% -81% -82% -84% -87% -94% -96% -99% Data::Taxi 1845/s 665% 12% -- -24% -35% -41% -57% -77% -79% -80% -82% -85% -94% -96% -99% PHP::Serialization 2443/s 913% 49% 32% -- -13% -22% -43% -69% -72% -74% -76% -81% -91% -94% -99% XML::Simple 2823/s 1071% 72% 53% 16% -- -9% -34% -64% -68% -70% -72% -78% -90% -93% -98% JSON::PP 3116/s 1192% 90% 69% 28% 10% -- -27% -60% -65% -67% -69% -75% -89% -93% -98% YAML::Tiny 4287/s 1678% 161% 132% 75% 52% 38% -- -45% -51% -54% -57% -66% -85% -90% -98% Bencode 7860/s 3160% 378% 326% 222% 178% 152% 83% -- -11% -16% -22% -37% -73% -82% -96% Convert::Bencode 8805/s 3552% 436% 377% 260% 212% 183% 105% 12% -- -5% -12% -30% -69% -79% -95% Data::Dumper 9309/s 3761% 467% 404% 281% 230% 199% 117% 18% 6% -- -7% -26% -68% -78% -95% FreezeThaw 10048/s 4067% 511% 445% 311% 256% 222% 134% 28% 14% 8% -- -20% -65% -76% -94% YAML::XS 12560/s 5109% 664% 581% 414% 345% 303% 193% 60% 43% 35% 25% -- -56% -71% -93% Storable 28671/s 11791% 1645% 1454% 1074% 916% 820% 569% 265% 226% 208% 185% 128% -- -33% -84% Convert::Bencode_XS 42708/s 17612% 2499% 2215% 1648% 1413% 1271% 896% 443% 385% 359% 325% 240% 49% -- -76% JSON::XS 177750/s 73618% 10718% 9533% 7177% 6196% 5605% 4046% 2162% 1919% 1810% 1669% 1315% 520% 316% -- Inflate Rate YAML::Old XML::Simple PHP::Serialization RPC::XML Data::Taxi JSON::PP YAML::Tiny Convert::Bencode FreezeThaw Bencode Data::Dumper YAML::XS Convert::Bencode_XS Storable JSON::XS YAML::Old 192/s -- -45% -51% -60% -78% -83% -89% -91% -93% -95% -98% -99% -100% -100% -100% XML::Simple 350/s 82% -- -12% -28% -60% -70% -80% -84% -87% -90% -97% -98% -99% -99% -100% PHP::Serialization 395/s 106% 13% -- -18% -54% -66% -78% -82% -85% -89% -96% -97% -99% -99% -100% RPC::XML 482/s 152% 38% 22% -- -44% -58% -73% -78% -82% -87% -96% -97% -99% -99% -99% Data::Taxi 865/s 351% 147% 119% 79% -- -25% -51% -61% -67% -76% -92% -94% -98% -99% -99% JSON::PP 1152/s 501% 230% 191% 139% 33% -- -35% -48% -56% -68% -89% -92% -98% -98% -99% YAML::Tiny 1777/s 827% 408% 350% 268% 105% 54% -- -19% -32% -51% -84% -88% -96% -97% -98% Convert::Bencode 2201/s 1048% 530% 457% 356% 154% 91% 24% -- -16% -39% -80% -85% -96% -97% -97% FreezeThaw 2619/s 1266% 649% 563% 443% 203% 127% 47% 19% -- -28% -76% -83% -95% -96% -97% Bencode 3622/s 1789% 936% 816% 651% 319% 214% 104% 65% 38% -- -67% -76% -93% -94% -96% Data::Dumper 10960/s 5616% 3035% 2673% 2173% 1167% 851% 517% 398% 318% 203% -- -27% -78% -83% -87% YAML::XS 15037/s 7742% 4202% 3704% 3018% 1639% 1205% 746% 583% 474% 315% 37% -- -70% -77% -82% Convert::Bencode_XS 49321/s 25622% 14010% 12377% 10127% 5603% 4182% 2676% 2141% 1783% 1262% 350% 228% -- -25% -41% Storable 65511/s 34066% 18641% 16473% 13485% 7475% 5587% 3587% 2877% 2401% 1709% 498% 336% 33% -- -22% JSON::XS 83510/s 43453% 23790% 21027% 17217% 9556% 7150% 4600% 3694% 3088% 2206% 662% 455% 69% 27% -- AUTHOR Peter Makholm, "" BUGS Please report any bugs or feature requests to "bug-benchmark-serialize at rt.cpan.org", or through the web interface at . I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. ACKNOWLEDGEMENTS This module started out as a script written by Christian Hansen, see http://idisk.mac.com/christian.hansen/Public/perl/serialize.pl COPYRIGHT & LICENSE Copyright 2009 Peter Makholm. This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information.