json 1.6.5 → 1.6.6

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of json might be problematic. Click here for more details.

Files changed (57) hide show
  1. data/.gitignore +3 -0
  2. data/.travis.yml +4 -3
  3. data/CHANGES +7 -0
  4. data/Gemfile +2 -2
  5. data/README.rdoc +1 -1
  6. data/Rakefile +48 -58
  7. data/VERSION +1 -1
  8. data/ext/json/ext/generator/generator.c +17 -8
  9. data/ext/json/ext/generator/generator.h +1 -0
  10. data/install.rb +7 -3
  11. data/java/src/json/ext/StringDecoder.java +1 -0
  12. data/json.gemspec +6 -9
  13. data/json_pure.gemspec +5 -8
  14. data/lib/json/pure/generator.rb +6 -2
  15. data/lib/json/version.rb +1 -1
  16. data/tests/test_json.rb +3 -3
  17. data/tests/test_json_generate.rb +18 -16
  18. metadata +26 -63
  19. data/benchmarks/data-p4-3GHz-ruby18/.keep +0 -0
  20. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log +0 -52
  21. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat +0 -1000
  22. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat +0 -1001
  23. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat +0 -900
  24. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat +0 -901
  25. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat +0 -1000
  26. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat +0 -1001
  27. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log +0 -261
  28. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat +0 -1000
  29. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat +0 -1001
  30. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat +0 -1000
  31. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat +0 -1001
  32. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat +0 -1000
  33. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat +0 -1001
  34. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log +0 -262
  35. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat +0 -1000
  36. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat +0 -1001
  37. data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log +0 -82
  38. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log +0 -34
  39. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat +0 -900
  40. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat +0 -901
  41. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log +0 -81
  42. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat +0 -1000
  43. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat +0 -1001
  44. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log +0 -82
  45. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat +0 -1000
  46. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat +0 -1001
  47. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log +0 -82
  48. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat +0 -1000
  49. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat +0 -1001
  50. data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log +0 -82
  51. data/benchmarks/data/.keep +0 -0
  52. data/benchmarks/generator2_benchmark.rb +0 -222
  53. data/benchmarks/generator_benchmark.rb +0 -224
  54. data/benchmarks/ohai.json +0 -1216
  55. data/benchmarks/ohai.ruby +0 -1
  56. data/benchmarks/parser2_benchmark.rb +0 -251
  57. data/benchmarks/parser_benchmark.rb +0 -259
@@ -1 +0,0 @@
1
- {"kernel"=>{"name"=>"Darwin", "machine"=>"i386", "modules"=>{"com.apple.driver.AppleAPIC"=>{"size"=>12288, "version"=>"1.4", "index"=>"26", "refcount"=>"0"}, "com.apple.driver.AirPort.Atheros"=>{"size"=>593920, "version"=>"318.8.3", "index"=>"88", "refcount"=>"0"}, "com.apple.driver.AppleIntelCPUPowerManagement"=>{"size"=>102400, "version"=>"59.0.1", "index"=>"22", "refcount"=>"0"}, "com.apple.iokit.IOStorageFamily"=>{"size"=>98304, "version"=>"1.5.5", "index"=>"44", "refcount"=>"9"}, "com.apple.iokit.IOATAPIProtocolTransport"=>{"size"=>16384, "version"=>"1.5.2", "index"=>"52", "refcount"=>"0"}, "com.apple.iokit.IOPCIFamily"=>{"size"=>65536, "version"=>"2.5", "index"=>"17", "refcount"=>"18"}, "org.virtualbox.kext.VBoxDrv"=>{"size"=>118784, "version"=>"2.2.0", "index"=>"114", "refcount"=>"3"}, "com.cisco.nke.ipsec"=>{"size"=>454656, "version"=>"2.0.1", "index"=>"111", "refcount"=>"0"}, "com.apple.driver.AppleHPET"=>{"size"=>12288, "version"=>"1.3", "index"=>"33", "refcount"=>"0"}, "com.apple.driver.AppleUSBHub"=>{"size"=>49152, "version"=>"3.2.7", "index"=>"47", "refcount"=>"0"}, "com.apple.iokit.IOFireWireFamily"=>{"size"=>258048, "version"=>"3.4.6", "index"=>"49", "refcount"=>"2"}, "com.apple.driver.AppleUSBComposite"=>{"size"=>16384, "version"=>"3.2.0", "index"=>"60", "refcount"=>"1"}, "com.apple.driver.AppleIntelPIIXATA"=>{"size"=>36864, "version"=>"2.0.0", "index"=>"41", "refcount"=>"0"}, "com.apple.driver.AppleSmartBatteryManager"=>{"size"=>28672, "version"=>"158.6.0", "index"=>"32", "refcount"=>"0"}, "com.apple.filesystems.udf"=>{"size"=>233472, "version"=>"2.0.2", "index"=>"119", "refcount"=>"0"}, "com.apple.iokit.IOSMBusFamily"=>{"size"=>12288, "version"=>"1.1", "index"=>"27", "refcount"=>"2"}, "com.apple.iokit.IOACPIFamily"=>{"size"=>16384, "version"=>"1.2.0", "index"=>"18", "refcount"=>"10"}, "foo.tap"=>{"size"=>24576, "version"=>"1.0", "index"=>"113", "refcount"=>"0"}, "com.vmware.kext.vmx86"=>{"size"=>864256, "version"=>"2.0.4", "index"=>"104", "refcount"=>"0"}, "com.apple.iokit.CHUDUtils"=>{"size"=>28672, "version"=>"200", "index"=>"98", "refcount"=>"0"}, "com.apple.driver.AppleACPIButtons"=>{"size"=>16384, "version"=>"1.2.4", "index"=>"30", "refcount"=>"0"}, "com.apple.driver.AppleFWOHCI"=>{"size"=>139264, "version"=>"3.7.2", "index"=>"50", "refcount"=>"0"}, "com.apple.iokit.IOSCSIArchitectureModelFamily"=>{"size"=>102400, "version"=>"2.0.5", "index"=>"51", "refcount"=>"4"}, "org.virtualbox.kext.VBoxNetAdp"=>{"size"=>8192, "version"=>"2.2.0", "index"=>"117", "refcount"=>"0"}, "com.apple.filesystems.autofs"=>{"size"=>45056, "version"=>"2.0.1", "index"=>"109", "refcount"=>"0"}, "com.vmware.kext.vmnet"=>{"size"=>36864, "version"=>"2.0.4", "index"=>"108", "refcount"=>"0"}, "com.apple.iokit.IOSCSIBlockCommandsDevice"=>{"size"=>90112, "version"=>"2.0.5", "index"=>"57", "refcount"=>"1"}, "com.apple.driver.AppleACPIPCI"=>{"size"=>12288, "version"=>"1.2.4", "index"=>"31", "refcount"=>"0"}, "com.apple.security.seatbelt"=>{"size"=>98304, "version"=>"107.10", "index"=>"25", "refcount"=>"0"}, "com.apple.driver.AppleUpstreamUserClient"=>{"size"=>16384, "version"=>"2.7.2", "index"=>"100", "refcount"=>"0"}, "com.apple.kext.OSvKernDSPLib"=>{"size"=>12288, "version"=>"1.1", "index"=>"79", "refcount"=>"1"}, "com.apple.iokit.IOBDStorageFamily"=>{"size"=>20480, "version"=>"1.5", "index"=>"58", "refcount"=>"1"}, "com.apple.iokit.IOGraphicsFamily"=>{"size"=>118784, "version"=>"1.7.1", "index"=>"70", "refcount"=>"5"}, "com.apple.iokit.IONetworkingFamily"=>{"size"=>90112, "version"=>"1.6.1", "index"=>"82", "refcount"=>"4"}, "com.apple.iokit.IOATAFamily"=>{"size"=>53248, "version"=>"2.0.0", "index"=>"40", "refcount"=>"2"}, "com.apple.iokit.IOUSBHIDDriver"=>{"size"=>20480, "version"=>"3.2.2", "index"=>"63", "refcount"=>"2"}, "org.virtualbox.kext.VBoxUSB"=>{"size"=>28672, "version"=>"2.2.0", "index"=>"115", "refcount"=>"0"}, "com.apple.security.TMSafetyNet"=>{"size"=>12288, "version"=>"3", "index"=>"23", "refcount"=>"0"}, "com.apple.iokit.IONDRVSupport"=>{"size"=>57344, "version"=>"1.7.1", "index"=>"71", "refcount"=>"3"}, "com.apple.BootCache"=>{"size"=>20480, "version"=>"30.3", "index"=>"20", "refcount"=>"0"}, "com.vmware.kext.vmioplug"=>{"size"=>24576, "version"=>"2.0.4", "index"=>"107", "refcount"=>"0"}, "com.apple.iokit.IOUSBUserClient"=>{"size"=>8192, "version"=>"3.2.4", "index"=>"46", "refcount"=>"1"}, "com.apple.iokit.IOSCSIMultimediaCommandsDevice"=>{"size"=>90112, "version"=>"2.0.5", "index"=>"59", "refcount"=>"0"}, "com.apple.driver.AppleIRController"=>{"size"=>20480, "version"=>"110", "index"=>"78", "refcount"=>"0"}, "com.apple.driver.AudioIPCDriver"=>{"size"=>16384, "version"=>"1.0.5", "index"=>"81", "refcount"=>"0"}, "com.apple.driver.AppleLPC"=>{"size"=>12288, "version"=>"1.2.11", "index"=>"73", "refcount"=>"0"}, "org.virtualbox.kext.VBoxNetFlt"=>{"size"=>16384, "version"=>"2.2.0", "index"=>"116", "refcount"=>"0"}, "com.apple.iokit.CHUDKernLib"=>{"size"=>20480, "version"=>"196", "index"=>"93", "refcount"=>"2"}, "com.apple.iokit.CHUDProf"=>{"size"=>49152, "version"=>"207", "index"=>"97", "refcount"=>"0"}, "com.apple.NVDAResman"=>{"size"=>2478080, "version"=>"5.3.6", "index"=>"90", "refcount"=>"2"}, "com.apple.driver.AppleACPIEC"=>{"size"=>20480, "version"=>"1.2.4", "index"=>"28", "refcount"=>"0"}, "foo.tun"=>{"size"=>24576, "version"=>"1.0", "index"=>"118", "refcount"=>"0"}, "com.apple.iokit.IOSerialFamily"=>{"size"=>36864, "version"=>"9.3", "index"=>"102", "refcount"=>"1"}, "com.apple.GeForce"=>{"size"=>622592, "version"=>"5.3.6", "index"=>"96", "refcount"=>"0"}, "com.apple.iokit.IOCDStorageFamily"=>{"size"=>32768, "version"=>"1.5", "index"=>"55", "refcount"=>"3"}, "com.apple.driver.AppleUSBEHCI"=>{"size"=>73728, "version"=>"3.2.5", "index"=>"39", "refcount"=>"0"}, "com.apple.nvidia.nv50hal"=>{"size"=>2445312, "version"=>"5.3.6", "index"=>"91", "refcount"=>"0"}, "com.apple.driver.AppleSMBIOS"=>{"size"=>16384, "version"=>"1.1.1", "index"=>"29", "refcount"=>"0"}, "com.apple.driver.AppleBacklight"=>{"size"=>16384, "version"=>"1.4.4", "index"=>"72", "refcount"=>"0"}, "com.apple.driver.AppleACPIPlatform"=>{"size"=>253952, "version"=>"1.2.4", "index"=>"19", "refcount"=>"3"}, "com.apple.iokit.SCSITaskUserClient"=>{"size"=>24576, "version"=>"2.0.5", "index"=>"54", "refcount"=>"0"}, "com.apple.iokit.IOHIDFamily"=>{"size"=>233472, "version"=>"1.5.3", "index"=>"21", "refcount"=>"7"}, "com.apple.driver.DiskImages"=>{"size"=>65536, "version"=>"195.2.2", "index"=>"101", "refcount"=>"0"}, "com.apple.iokit.IODVDStorageFamily"=>{"size"=>24576, "version"=>"1.5", "index"=>"56", "refcount"=>"2"}, "com.apple.iokit.IOFireWireIP"=>{"size"=>36864, "version"=>"1.7.6", "index"=>"83", "refcount"=>"0"}, "com.apple.driver.AppleRTC"=>{"size"=>20480, "version"=>"1.2.3", "index"=>"34", "refcount"=>"0"}, "com.apple.driver.XsanFilter"=>{"size"=>20480, "version"=>"2.7.91", "index"=>"53", "refcount"=>"0"}, "com.apple.driver.AppleEFIRuntime"=>{"size"=>12288, "version"=>"1.2.0", "index"=>"35", "refcount"=>"1"}, "com.apple.iokit.IOAHCIBlockStorage"=>{"size"=>69632, "version"=>"1.2.0", "index"=>"48", "refcount"=>"0"}, "com.apple.nke.applicationfirewall"=>{"size"=>32768, "version"=>"1.0.77", "index"=>"24", "refcount"=>"0"}, "com.apple.iokit.IO80211Family"=>{"size"=>126976, "version"=>"215.1", "index"=>"87", "refcount"=>"1"}, "com.vmware.kext.vmci"=>{"size"=>45056, "version"=>"2.0.4", "index"=>"106", "refcount"=>"0"}, "com.apple.iokit.IOAHCIFamily"=>{"size"=>24576, "version"=>"1.5.0", "index"=>"42", "refcount"=>"2"}, "com.apple.driver.AppleUSBUHCI"=>{"size"=>57344, "version"=>"3.2.5", "index"=>"38", "refcount"=>"0"}, "com.apple.driver.AppleUSBMergeNub"=>{"size"=>12288, "version"=>"3.2.4", "index"=>"61", "refcount"=>"0"}, "com.apple.iokit.IOUSBFamily"=>{"size"=>167936, "version"=>"3.2.7", "index"=>"37", "refcount"=>"13"}, "com.apple.driver.AppleEFINVRAM"=>{"size"=>24576, "version"=>"1.2.0", "index"=>"36", "refcount"=>"0"}, "com.apple.driver.AppleAHCIPort"=>{"size"=>53248, "version"=>"1.5.2", "index"=>"43", "refcount"=>"0"}}, "os"=>"Darwin", "version"=>"Darwin Kernel Version 9.6.0: Mon Nov 24 17:37:00 PST 2008; root:xnu-1228.9.59~1/RELEASE_I386", "release"=>"9.6.0"}, "command"=>{"ps"=>"ps -ef"}, "platform"=>"mac_os_x", "platform_version"=>"10.5.6", "keys"=>{"ssh"=>{"host_dsa_public"=>"private", "host_rsa_public"=>"private"}}, "ipaddress"=>"192.168.88.1", "fqdn"=>"local.local", "network"=>{"settings"=>{"net.inet6.ip6.forwarding"=>"0", "net.inet.ip.dummynet.debug"=>"0", "net.inet.ip.rtexpire"=>"10", "net.inet6.ipsec6.esp_trans_deflev"=>"1", "net.inet.tcp.tcbhashsize"=>"4096", "net.key.esp_auth"=>"0", "net.inet6.ip6.hlim"=>"64", "net.inet.ip.fw.dyn_fin_lifetime"=>"1", "net.inet.ip.fw.dyn_udp_lifetime"=>"10", "net.inet.icmp.bmcastecho"=>"1", "net.athbgscan"=>"1 1", "net.inet.tcp.reass.maxsegments"=>"2048", "net.athforceBias"=>"2 2", "net.inet6.ip6.auto_flowlabel"=>"1", "net.inet6.ip6.rtmaxcache"=>"128", "net.inet.tcp.sendspace"=>"131072", "net.inet.tcp.keepinit"=>"75000", "net.inet.ip.dummynet.max_chain_len"=>"16", "net.inet.tcp.rfc1644"=>"0", "net.inet.ip.fw.curr_dyn_buckets"=>"256", "net.inet.ip.dummynet.ready_heap"=>"0", "net.inet.ip.portrange.first"=>"49152", "net.inet.tcp.background_io_trigger"=>"5", "net.link.ether.inet.host_down_time"=>"20", "net.inet6.ipsec6.def_policy"=>"1", "net.inet6.ipsec6.ecn"=>"0", "net.inet.ip.fastforwarding"=>"0", "net.inet6.ip6.v6only"=>"0", "net.inet.tcp.sack"=>"1", "net.inet6.ip6.rtexpire"=>"3600", "net.link.ether.inet.proxyall"=>"0", "net.athaddbaignore"=>"0 0", "net.inet6.ip6.keepfaith"=>"0", "net.key.spi_trycnt"=>"1000", "net.link.ether.inet.prune_intvl"=>"300", "net.inet.tcp.ecn_initiate_out"=>"0", "net.inet.ip.fw.dyn_rst_lifetime"=>"1", "net.local.stream.sendspace"=>"8192", "net.inet.tcp.socket_unlocked_on_output"=>"1", "net.inet.ip.fw.verbose_limit"=>"0", "net.local.dgram.recvspace"=>"4096", "net.inet.ipsec.debug"=>"0", "net.link.ether.inet.log_arp_warnings"=>"0", "net.inet.tcp.ecn_negotiate_in"=>"0", "net.inet.tcp.rfc3465"=>"1", "net.inet.tcp.icmp_may_rst"=>"1", "net.link.ether.inet.sendllconflict"=>"0", "net.inet.ipsec.ah_offsetmask"=>"0", "net.key.blockacq_count"=>"10", "net.inet.tcp.delayed_ack"=>"3", "net.inet.ip.fw.verbose"=>"2", "net.inet.ip.fw.dyn_count"=>"0", "net.inet.tcp.slowlink_wsize"=>"8192", "net.inet6.ip6.fw.enable"=>"1", "net.inet.ip.portrange.hilast"=>"65535", "net.inet.icmp.maskrepl"=>"0", "net.link.ether.inet.apple_hwcksum_rx"=>"1", "net.inet.tcp.drop_synfin"=>"1", "net.key.spi_maxval"=>"268435455", "net.inet.ipsec.ecn"=>"0", "net.inet.ip.fw.dyn_keepalive"=>"1", "net.key.int_random"=>"60", "net.key.debug"=>"0", "net.inet.ip.dummynet.curr_time"=>"0", "net.inet.udp.blackhole"=>"0", "net.athaggrqmin"=>"1 1", "net.inet.ip.fw.dyn_syn_lifetime"=>"20", "net.inet.tcp.keepidle"=>"7200000", "net.inet6.ip6.tempvltime"=>"604800", "net.inet.tcp.recvspace"=>"358400", "net.inet.udp.maxdgram"=>"9216", "net.inet.tcp.keepintvl"=>"75000", "net.inet.ip.maxchainsent"=>"0", "net.athppmenable"=>"1 1", "net.inet.ipsec.esp_net_deflev"=>"1", "net.inet6.icmp6.nd6_useloopback"=>"1", "net.inet.tcp.slowstart_flightsize"=>"1", "net.inet.ip.fw.debug"=>"0", "net.inet.ip.linklocal.in.allowbadttl"=>"1", "net.key.spi_minval"=>"256", "net.inet.ip.forwarding"=>"0", "net.inet.tcp.v6mssdflt"=>"1024", "net.key.larval_lifetime"=>"30", "net.inet6.ip6.fw.verbose_limit"=>"0", "net.inet.ip.dummynet.red_lookup_depth"=>"256", "net.inet.tcp.pcbcount"=>"36", "net.inet.ip.fw.dyn_ack_lifetime"=>"300", "net.athCCAThreshold"=>"28 28", "net.inet.ip.portrange.lowlast"=>"600", "net.link.ether.inet.useloopback"=>"1", "net.athqdepth"=>"0 0", "net.inet.ip.ttl"=>"64", "net.inet.ip.rtmaxcache"=>"128", "net.inet.ipsec.bypass"=>"0", "net.inet6.icmp6.nd6_debug"=>"0", "net.inet.ip.use_route_genid"=>"1", "net.inet6.icmp6.rediraccept"=>"1", "net.inet.ip.fw.static_count"=>"1", "net.inet6.ip6.fw.debug"=>"0", "net.inet.udp.pcbcount"=>"104", "net.inet.ipsec.esp_randpad"=>"-1", "net.inet6.icmp6.nd6_maxnudhint"=>"0", "net.inet.tcp.always_keepalive"=>"0", "net.inet.udp.checksum"=>"1", "net.link.ether.inet.keep_announcements"=>"1", "net.athfixedDropThresh"=>"150 150", "net.inet6.ip6.kame_version"=>"20010528/apple-darwin", "net.inet.ip.fw.dyn_max"=>"4096", "net.inet.udp.log_in_vain"=>"0", "net.inet6.icmp6.nd6_mmaxtries"=>"3", "net.inet.ip.rtminexpire"=>"10", "net.inet.ip.fw.dyn_buckets"=>"256", "net.inet6.ip6.accept_rtadv"=>"0", "net.inet6.ip6.rr_prune"=>"5", "net.key.ah_keymin"=>"128", "net.inet.ip.redirect"=>"1", "net.inet.tcp.sack_globalmaxholes"=>"65536", "net.inet.ip.keepfaith"=>"0", "net.inet.ip.dummynet.expire"=>"1", "net.inet.ip.gifttl"=>"30", "net.inet.ip.portrange.last"=>"65535", "net.inet.ipsec.ah_net_deflev"=>"1", "net.inet6.icmp6.nd6_delay"=>"5", "net.inet.tcp.packetchain"=>"50", "net.inet6.ip6.hdrnestlimit"=>"50", "net.inet.tcp.newreno"=>"0", "net.inet6.ip6.dad_count"=>"1", "net.inet6.ip6.auto_linklocal"=>"1", "net.inet6.ip6.temppltime"=>"86400", "net.inet.tcp.strict_rfc1948"=>"0", "net.inet.ip.dummynet.red_max_pkt_size"=>"1500", "net.inet.ip.maxfrags"=>"2048", "net.inet.tcp.log_in_vain"=>"0", "net.athdupie"=>"1 1", "net.inet.tcp.rfc1323"=>"1", "net.inet.ip.subnets_are_local"=>"0", "net.inet.ip.dummynet.search_steps"=>"0", "net.inet.icmp.icmplim"=>"250", "net.link.ether.inet.apple_hwcksum_tx"=>"1", "net.inet6.icmp6.redirtimeout"=>"600", "net.inet.ipsec.ah_cleartos"=>"1", "net.inet6.ip6.log_interval"=>"5", "net.link.ether.inet.max_age"=>"1200", "net.inet.ip.fw.enable"=>"1", "net.inet6.ip6.redirect"=>"1", "net.athaggrfmax"=>"28 28", "net.inet.ip.maxfragsperpacket"=>"128", "net.inet6.ip6.use_deprecated"=>"1", "net.link.generic.system.dlil_input_sanity_check"=>"0", "net.inet.tcp.sack_globalholes"=>"0", "net.inet.tcp.reass.cursegments"=>"0", "net.inet6.icmp6.nodeinfo"=>"3", "net.local.inflight"=>"0", "net.inet.ip.dummynet.hash_size"=>"64", "net.inet.ip.dummynet.red_avg_pkt_size"=>"512", "net.inet.ipsec.dfbit"=>"0", "net.inet.tcp.reass.overflows"=>"0", "net.inet.tcp.rexmt_thresh"=>"2", "net.inet6.ip6.maxfrags"=>"8192", "net.inet6.ip6.rtminexpire"=>"10", "net.inet6.ipsec6.esp_net_deflev"=>"1", "net.inet.tcp.blackhole"=>"0", "net.key.esp_keymin"=>"256", "net.inet.ip.check_interface"=>"0", "net.inet.tcp.minmssoverload"=>"0", "net.link.ether.inet.maxtries"=>"5", "net.inet.tcp.do_tcpdrain"=>"0", "net.inet.ipsec.esp_port"=>"4500", "net.inet6.ipsec6.ah_net_deflev"=>"1", "net.inet.ip.dummynet.extract_heap"=>"0", "net.inet.tcp.path_mtu_discovery"=>"1", "net.inet.ip.intr_queue_maxlen"=>"50", "net.inet.ipsec.def_policy"=>"1", "net.inet.ip.fw.autoinc_step"=>"100", "net.inet.ip.accept_sourceroute"=>"0", "net.inet.raw.maxdgram"=>"8192", "net.inet.ip.maxfragpackets"=>"1024", "net.inet.ip.fw.one_pass"=>"0", "net.appletalk.routermix"=>"2000", "net.inet.tcp.tcp_lq_overflow"=>"1", "net.link.generic.system.ifcount"=>"9", "net.link.ether.inet.send_conflicting_probes"=>"1", "net.inet.tcp.background_io_enabled"=>"1", "net.inet6.ipsec6.debug"=>"0", "net.inet.tcp.win_scale_factor"=>"3", "net.key.natt_keepalive_interval"=>"20", "net.inet.tcp.msl"=>"15000", "net.inet.ip.portrange.hifirst"=>"49152", "net.inet.ipsec.ah_trans_deflev"=>"1", "net.inet.tcp.rtt_min"=>"1", "net.inet6.ip6.defmcasthlim"=>"1", "net.inet6.icmp6.nd6_prune"=>"1", "net.inet6.ip6.fw.verbose"=>"0", "net.inet.ip.portrange.lowfirst"=>"1023", "net.inet.tcp.maxseg_unacked"=>"8", "net.local.dgram.maxdgram"=>"2048", "net.key.blockacq_lifetime"=>"20", "net.inet.tcp.sack_maxholes"=>"128", "net.inet6.ip6.maxfragpackets"=>"1024", "net.inet6.ip6.use_tempaddr"=>"0", "net.athpowermode"=>"0 0", "net.inet.udp.recvspace"=>"73728", "net.inet.tcp.isn_reseed_interval"=>"0", "net.inet.tcp.local_slowstart_flightsize"=>"8", "net.inet.ip.dummynet.searches"=>"0", "net.inet.ip.intr_queue_drops"=>"0", "net.link.generic.system.multi_threaded_input"=>"1", "net.inet.raw.recvspace"=>"8192", "net.inet.ipsec.esp_trans_deflev"=>"1", "net.key.prefered_oldsa"=>"0", "net.local.stream.recvspace"=>"8192", "net.inet.tcp.sockthreshold"=>"64", "net.inet6.icmp6.nd6_umaxtries"=>"3", "net.pstimeout"=>"20 20", "net.inet.ip.sourceroute"=>"0", "net.inet.ip.fw.dyn_short_lifetime"=>"5", "net.inet.tcp.minmss"=>"216", "net.inet6.ip6.gifhlim"=>"0", "net.athvendorie"=>"1 1", "net.inet.ip.check_route_selfref"=>"1", "net.inet.icmp.log_redirect"=>"0", "net.inet6.icmp6.errppslimit"=>"100", "net.inet.tcp.mssdflt"=>"512", "net.inet.icmp.drop_redirect"=>"0", "net.inet6.ipsec6.esp_randpad"=>"-1", "net.inet6.ipsec6.ah_trans_deflev"=>"1", "net.inet.ip.random_id"=>"1", "net.inet.icmp.timestamp"=>"0"}, "interfaces"=>{"stf0"=>{"flags"=>[], "number"=>"0", "mtu"=>"1280", "type"=>"stf", "encapsulation"=>"6to4"}, "vmnet1"=>{"flags"=>["UP", "BROADCAST", "SMART", "RUNNING", "SIMPLEX", "MULTICAST"], "number"=>"1", "addresses"=>[{"broadcast"=>"192.168.88.255", "netmask"=>"255.255.255.0", "family"=>"inet", "address"=>"192.168.88.1"}, {"family"=>"lladdr", "address"=>"private"}], "mtu"=>"1500", "type"=>"vmnet", "encapsulation"=>"Ethernet"}, "vboxnet0"=>{"flags"=>["BROADCAST", "RUNNING", "SIMPLEX", "MULTICAST"], "number"=>"0", "addresses"=>[{"family"=>"lladdr", "address"=>"private"}], "mtu"=>"1500", "type"=>"vboxnet", "encapsulation"=>"Ethernet"}, "lo0"=>{"flags"=>["UP", "LOOPBACK", "RUNNING", "MULTICAST"], "number"=>"0", "addresses"=>[{"scope"=>"Link", "prefixlen"=>"64", "family"=>"inet6", "address"=>"fe80::1"}, {"netmask"=>"255.0.0.0", "family"=>"inet", "address"=>"127.0.0.1"}, {"scope"=>"Node", "prefixlen"=>"128", "family"=>"inet6", "address"=>"::1"}, {"scope"=>"Node", "prefixlen"=>"128", "family"=>"inet6", "address"=>"private"}], "mtu"=>"16384", "type"=>"lo", "encapsulation"=>"Loopback"}, "vboxn"=>{"counters"=>{"tx"=>{"packets"=>"0", "bytes"=>"0", "compressed"=>0, "collisions"=>"0", "carrier"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0}, "rx"=>{"packets"=>"0", "bytes"=>"0", "compressed"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0, "multicast"=>0, "frame"=>0}}}, "gif0"=>{"flags"=>["POINTOPOINT", "MULTICAST"], "number"=>"0", "mtu"=>"1280", "type"=>"gif", "encapsulation"=>"IPIP"}, "vmnet"=>{"counters"=>{"tx"=>{"packets"=>"0", "bytes"=>"0", "compressed"=>0, "collisions"=>"0", "carrier"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0}, "rx"=>{"packets"=>"0", "bytes"=>"0", "compressed"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0, "multicast"=>0, "frame"=>0}}}, "en0"=>{"flags"=>["UP", "BROADCAST", "SMART", "RUNNING", "SIMPLEX", "MULTICAST"], "status"=>"inactive", "number"=>"0", "addresses"=>[{"family"=>"lladdr", "address"=>"private"}], "mtu"=>"1500", "type"=>"en", "media"=>{"supported"=>[{"autoselect"=>{"options"=>[]}}, {"10baseT/UTP"=>{"options"=>["half-duplex"]}}, {"10baseT/UTP"=>{"options"=>["full-duplex"]}}, {"10baseT/UTP"=>{"options"=>["full-duplex", "hw-loopback"]}}, {"10baseT/UTP"=>{"options"=>["full-duplex", "flow-control"]}}, {"100baseTX"=>{"options"=>["half-duplex"]}}, {"100baseTX"=>{"options"=>["full-duplex"]}}, {"100baseTX"=>{"options"=>["full-duplex", "hw-loopback"]}}, {"100baseTX"=>{"options"=>["full-duplex", "flow-control"]}}, {"1000baseT"=>{"options"=>["full-duplex"]}}, {"1000baseT"=>{"options"=>["full-duplex", "hw-loopback"]}}, {"1000baseT"=>{"options"=>["full-duplex", "flow-control"]}}, {"none"=>{"options"=>[]}}], "selected"=>[{"autoselect"=>{"options"=>[]}}]}, "counters"=>{"tx"=>{"packets"=>"0", "bytes"=>"342", "compressed"=>0, "collisions"=>"0", "carrier"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0}, "rx"=>{"packets"=>"0", "bytes"=>"0", "compressed"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0, "multicast"=>0, "frame"=>0}}, "encapsulation"=>"Ethernet"}, "vmnet8"=>{"flags"=>["UP", "BROADCAST", "SMART", "RUNNING", "SIMPLEX", "MULTICAST"], "number"=>"8", "addresses"=>[{"broadcast"=>"192.168.237.255", "netmask"=>"255.255.255.0", "family"=>"inet", "address"=>"192.168.237.1"}, {"family"=>"lladdr", "address"=>"private"}], "mtu"=>"1500", "type"=>"vmnet", "encapsulation"=>"Ethernet"}, "en1"=>{"flags"=>["UP", "BROADCAST", "SMART", "RUNNING", "SIMPLEX", "MULTICAST"], "status"=>"active", "number"=>"1", "addresses"=>[{"scope"=>"Link", "prefixlen"=>"64", "family"=>"inet6", "address"=>"private"}, {"broadcast"=>"192.168.1.255", "netmask"=>"255.255.255.0", "family"=>"inet", "address"=>"192.168.1.4"}, {"family"=>"lladdr", "address"=>"private"}], "mtu"=>"1500", "type"=>"en", "media"=>{"supported"=>[{"autoselect"=>{"options"=>[]}}], "selected"=>[{"autoselect"=>{"options"=>[]}}]}, "counters"=>{"tx"=>{"packets"=>"7041789", "bytes"=>"449206298", "compressed"=>0, "collisions"=>"0", "carrier"=>0, "errors"=>"95", "drop"=>0, "overrun"=>0}, "rx"=>{"packets"=>"19966002", "bytes"=>"13673879120", "compressed"=>0, "errors"=>"1655893", "drop"=>0, "overrun"=>0, "multicast"=>0, "frame"=>0}}, "encapsulation"=>"Ethernet", "arp"=>{"192.168.1.7"=>"private"}}, "fw0"=>{"flags"=>["UP", "BROADCAST", "SMART", "RUNNING", "SIMPLEX", "MULTICAST"], "status"=>"inactive", "number"=>"0", "addresses"=>[{"family"=>"lladdr", "address"=>"private"}], "mtu"=>"4078", "type"=>"fw", "media"=>{"supported"=>[{"autoselect"=>{"options"=>["full-duplex"]}}], "selected"=>[{"autoselect"=>{"options"=>["full-duplex"]}}]}, "counters"=>{"tx"=>{"packets"=>"0", "bytes"=>"346", "compressed"=>0, "collisions"=>"0", "carrier"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0}, "rx"=>{"packets"=>"0", "bytes"=>"0", "compressed"=>0, "errors"=>"0", "drop"=>0, "overrun"=>0, "multicast"=>0, "frame"=>0}}, "encapsulation"=>"1394"}}}, "os"=>"darwin", "domain"=>"local", "ohai_time"=>1240624355.08575, "platform_build"=>"9G55", "os_version"=>"9.6.0", "hostname"=>"local", "languages"=>{"ruby"=>{"target_os"=>"darwin9.0", "platform"=>"universal-darwin9.0", "host_vendor"=>"apple", "target_cpu"=>"i686", "target_vendor"=>"apple", "host_os"=>"darwin9.0", "version"=>"1.8.6", "host_cpu"=>"i686", "host"=>"i686-apple-darwin9.0", "release_date"=>"2008-03-03", "target"=>"i686-apple-darwin9.0"}}, "macaddress"=>"private"}
@@ -1,251 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # CODING: UTF-8
3
-
4
- require 'rbconfig'
5
- RUBY_PATH=File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
6
- RAKE_PATH=File.join(Config::CONFIG['bindir'], 'rake')
7
- require 'bullshit'
8
- case ARGV.first
9
- when 'ext'
10
- require 'json/ext'
11
- when 'pure'
12
- require 'json/pure'
13
- when 'yaml'
14
- require 'yaml'
15
- require 'json/pure'
16
- when 'rails'
17
- require 'active_support'
18
- require 'json/pure'
19
- when 'yajl'
20
- require 'yajl'
21
- require 'json/pure'
22
- else
23
- require 'json/pure'
24
- end
25
-
26
- module Parser2BenchmarkCommon
27
- include JSON
28
-
29
- def setup
30
- @big = @json = File.read(File.join(File.dirname(__FILE__), 'ohai.json'))
31
- end
32
-
33
- def generic_reset_method
34
- @result == @big or raise "not equal"
35
- end
36
- end
37
-
38
- class Parser2BenchmarkExt < Bullshit::RepeatCase
39
- include Parser2BenchmarkCommon
40
-
41
- warmup yes
42
- iterations 2000
43
-
44
- truncate_data do
45
- enabled false
46
- alpha_level 0.05
47
- window_size 50
48
- slope_angle 0.1
49
- end
50
-
51
- autocorrelation do
52
- alpha_level 0.05
53
- max_lags 50
54
- file yes
55
- end
56
-
57
- output_dir File.join(File.dirname(__FILE__), 'data')
58
- output_filename benchmark_name + '.log'
59
- data_file yes
60
- histogram yes
61
-
62
- def benchmark_parser
63
- @result = JSON.parse(@json)
64
- end
65
-
66
- alias reset_parser generic_reset_method
67
-
68
- def benchmark_parser_symbolic
69
- @result = JSON.parse(@json, :symbolize_names => true)
70
- end
71
-
72
- alias reset_parser_symbolc generic_reset_method
73
- end
74
-
75
- class Parser2BenchmarkPure < Bullshit::RepeatCase
76
- include Parser2BenchmarkCommon
77
-
78
- warmup yes
79
- iterations 400
80
-
81
- truncate_data do
82
- enabled false
83
- alpha_level 0.05
84
- window_size 50
85
- slope_angle 0.1
86
- end
87
-
88
- autocorrelation do
89
- alpha_level 0.05
90
- max_lags 50
91
- file yes
92
- end
93
-
94
- output_dir File.join(File.dirname(__FILE__), 'data')
95
- output_filename benchmark_name + '.log'
96
- data_file yes
97
- histogram yes
98
-
99
- def benchmark_parser
100
- @result = JSON.parse(@json)
101
- end
102
-
103
- alias reset_parser generic_reset_method
104
-
105
- def benchmark_parser_symbolic
106
- @result = JSON.parse(@json, :symbolize_names => true)
107
- end
108
-
109
- alias reset_parser_symbolc generic_reset_method
110
- end
111
-
112
- class Parser2BenchmarkYAML < Bullshit::RepeatCase
113
- warmup yes
114
- iterations 400
115
-
116
- truncate_data do
117
- enabled false
118
- alpha_level 0.05
119
- window_size 50
120
- slope_angle 0.1
121
- end
122
-
123
- autocorrelation do
124
- alpha_level 0.05
125
- max_lags 50
126
- file yes
127
- end
128
-
129
- output_dir File.join(File.dirname(__FILE__), 'data')
130
- output_filename benchmark_name + '.log'
131
- data_file yes
132
- histogram yes
133
-
134
- def setup
135
- @big = @json = File.read(File.join(File.dirname(__FILE__), 'ohai.json'))
136
- end
137
-
138
- def benchmark_parser
139
- @result = YAML.load(@json)
140
- end
141
-
142
- def generic_reset_method
143
- @result == @big or raise "not equal"
144
- end
145
- end
146
-
147
- class Parser2BenchmarkRails < Bullshit::RepeatCase
148
- warmup yes
149
- iterations 400
150
-
151
- truncate_data do
152
- alpha_level 0.05
153
- window_size 50
154
- slope_angle 0.1
155
- end
156
-
157
- autocorrelation do
158
- alpha_level 0.05
159
- max_lags 50
160
- file yes
161
- end
162
-
163
- output_dir File.join(File.dirname(__FILE__), 'data')
164
- output_filename benchmark_name + '.log'
165
- data_file yes
166
- histogram yes
167
-
168
- def setup
169
- a = [ nil, false, true, "fÖß\nÄr", [ "n€st€d", true ], { "fooß" => "bär", "qu\r\nux" => true } ]
170
- @big = a * 100
171
- @json = JSON.generate(@big)
172
- end
173
-
174
- def benchmark_parser
175
- @result = ActiveSupport::JSON.decode(@json)
176
- end
177
-
178
- def generic_reset_method
179
- @result == @big or raise "not equal"
180
- end
181
- end
182
-
183
- class Parser2BenchmarkYajl < Bullshit::RepeatCase
184
- warmup yes
185
- iterations 2000
186
-
187
- truncate_data do
188
- alpha_level 0.05
189
- window_size 50
190
- slope_angle 0.1
191
- end
192
-
193
- autocorrelation do
194
- alpha_level 0.05
195
- max_lags 50
196
- file yes
197
- end
198
-
199
- output_dir File.join(File.dirname(__FILE__), 'data')
200
- output_filename benchmark_name + '.log'
201
- data_file yes
202
- histogram yes
203
-
204
- def setup
205
- @big = @json = File.read(File.join(File.dirname(__FILE__), 'ohai.json'))
206
- end
207
-
208
- def benchmark_parser
209
- @result = Yajl::Parser.new.parse(@json)
210
- end
211
-
212
- def generic_reset_method
213
- @result == @big or raise "not equal"
214
- end
215
- end
216
-
217
- if $0 == __FILE__
218
- Bullshit::Case.autorun false
219
-
220
- case ARGV.first
221
- when 'ext'
222
- Parser2BenchmarkExt.run
223
- when 'pure'
224
- Parser2BenchmarkPure.run
225
- when 'yaml'
226
- Parser2BenchmarkYAML.run
227
- when 'rails'
228
- Parser2BenchmarkRails.run
229
- when 'yajl'
230
- Parser2BenchmarkYajl.run
231
- else
232
- system "#{RAKE_PATH} clean"
233
- system "#{RUBY_PATH} #$0 yaml"
234
- system "#{RUBY_PATH} #$0 rails"
235
- system "#{RUBY_PATH} #$0 pure"
236
- system "#{RAKE_PATH} compile"
237
- system "#{RUBY_PATH} #$0 ext"
238
- system "#{RUBY_PATH} #$0 yajl"
239
- Bullshit.compare do
240
- output_filename File.join(File.dirname(__FILE__), 'data', 'Parser2BenchmarkComparison.log')
241
-
242
- benchmark Parser2BenchmarkExt, :parser, :load => yes
243
- benchmark Parser2BenchmarkExt, :parser_symbolic, :load => yes
244
- benchmark Parser2BenchmarkPure, :parser, :load => yes
245
- benchmark Parser2BenchmarkPure, :parser_symbolic, :load => yes
246
- benchmark Parser2BenchmarkYAML, :parser, :load => yes
247
- benchmark Parser2BenchmarkRails, :parser, :load => yes
248
- benchmark Parser2BenchmarkYajl, :parser, :load => yes
249
- end
250
- end
251
- end
@@ -1,259 +0,0 @@
1
- #!/usr/bin/env ruby
2
- # CODING: UTF-8
3
-
4
- require 'rbconfig'
5
- RUBY_PATH=File.join(Config::CONFIG['bindir'], Config::CONFIG['ruby_install_name'])
6
- RAKE_PATH=File.join(Config::CONFIG['bindir'], 'rake')
7
- require 'bullshit'
8
- case ARGV.first
9
- when 'ext'
10
- require 'json/ext'
11
- when 'pure'
12
- require 'json/pure'
13
- when 'yaml'
14
- require 'yaml'
15
- require 'json/pure'
16
- when 'rails'
17
- require 'active_support'
18
- require 'json/pure'
19
- when 'yajl'
20
- require 'yajl'
21
- require 'json/pure'
22
- else
23
- require 'json/pure'
24
- end
25
-
26
- module ParserBenchmarkCommon
27
- include JSON
28
-
29
- def setup
30
- a = [ nil, false, true, "fÖß\nÄr", [ "n€st€d", true ], { "fooß" => "bär", "qu\r\nux" => true } ]
31
- @big = a * 100
32
- @json = JSON.generate(@big)
33
- end
34
-
35
- def generic_reset_method
36
- @result == @big or raise "not equal"
37
- end
38
- end
39
-
40
- class ParserBenchmarkExt < Bullshit::RepeatCase
41
- include ParserBenchmarkCommon
42
-
43
- warmup yes
44
- iterations 2000
45
-
46
- truncate_data do
47
- enabled false
48
- alpha_level 0.05
49
- window_size 50
50
- slope_angle 0.1
51
- end
52
-
53
- autocorrelation do
54
- alpha_level 0.05
55
- max_lags 50
56
- file yes
57
- end
58
-
59
- output_dir File.join(File.dirname(__FILE__), 'data')
60
- output_filename benchmark_name + '.log'
61
- data_file yes
62
- histogram yes
63
-
64
- def benchmark_parser
65
- @result = JSON.parse(@json)
66
- end
67
-
68
- alias reset_parser generic_reset_method
69
-
70
- def benchmark_parser_symbolic
71
- @result = JSON.parse(@json, :symbolize_names => true)
72
- end
73
-
74
- alias reset_parser_symbolc generic_reset_method
75
- end
76
-
77
- class ParserBenchmarkPure < Bullshit::RepeatCase
78
- include ParserBenchmarkCommon
79
-
80
- warmup yes
81
- iterations 400
82
-
83
- truncate_data do
84
- enabled false
85
- alpha_level 0.05
86
- window_size 50
87
- slope_angle 0.1
88
- end
89
-
90
- autocorrelation do
91
- alpha_level 0.05
92
- max_lags 50
93
- file yes
94
- end
95
-
96
- output_dir File.join(File.dirname(__FILE__), 'data')
97
- output_filename benchmark_name + '.log'
98
- data_file yes
99
- histogram yes
100
-
101
- def benchmark_parser
102
- @result = JSON.parse(@json)
103
- end
104
-
105
- alias reset_parser generic_reset_method
106
-
107
- def benchmark_parser_symbolic
108
- @result = JSON.parse(@json, :symbolize_names => true)
109
- end
110
-
111
- alias reset_parser_symbolc generic_reset_method
112
- end
113
-
114
- class ParserBenchmarkYAML < Bullshit::RepeatCase
115
- warmup yes
116
- iterations 400
117
-
118
- truncate_data do
119
- enabled false
120
- alpha_level 0.05
121
- window_size 50
122
- slope_angle 0.1
123
- end
124
-
125
- autocorrelation do
126
- alpha_level 0.05
127
- max_lags 50
128
- file yes
129
- end
130
-
131
- output_dir File.join(File.dirname(__FILE__), 'data')
132
- output_filename benchmark_name + '.log'
133
- data_file yes
134
- histogram yes
135
-
136
- def setup
137
- a = [ nil, false, true, "fÖß\nÄr", [ "n€st€d", true ], { "fooß" => "bär", "qu\r\nux" => true } ]
138
- @big = a * 100
139
- @json = JSON.pretty_generate(@big)
140
- end
141
-
142
- def benchmark_parser
143
- @result = YAML.load(@json)
144
- end
145
-
146
- def generic_reset_method
147
- @result == @big or raise "not equal"
148
- end
149
- end
150
-
151
- class ParserBenchmarkRails < Bullshit::RepeatCase
152
- warmup yes
153
- iterations 400
154
-
155
- truncate_data do
156
- enabled false
157
- alpha_level 0.05
158
- window_size 50
159
- slope_angle 0.1
160
- end
161
-
162
- autocorrelation do
163
- alpha_level 0.05
164
- max_lags 50
165
- file yes
166
- end
167
-
168
- output_dir File.join(File.dirname(__FILE__), 'data')
169
- output_filename benchmark_name + '.log'
170
- data_file yes
171
- histogram yes
172
-
173
- def setup
174
- a = [ nil, false, true, "fÖß\nÄr", [ "n€st€d", true ], { "fooß" => "bär", "qu\r\nux" => true } ]
175
- @big = a * 100
176
- @json = JSON.generate(@big)
177
- end
178
-
179
- def benchmark_parser
180
- @result = ActiveSupport::JSON.decode(@json)
181
- end
182
-
183
- def generic_reset_method
184
- @result == @big or raise "not equal"
185
- end
186
- end
187
-
188
- class ParserBenchmarkYajl < Bullshit::RepeatCase
189
- warmup yes
190
- iterations 2000
191
-
192
- truncate_data do
193
- enabled false
194
- alpha_level 0.05
195
- window_size 50
196
- slope_angle 0.1
197
- end
198
-
199
- autocorrelation do
200
- alpha_level 0.05
201
- max_lags 50
202
- file yes
203
- end
204
-
205
- output_dir File.join(File.dirname(__FILE__), 'data')
206
- output_filename benchmark_name + '.log'
207
- data_file yes
208
- histogram yes
209
-
210
- def setup
211
- a = [ nil, false, true, "fÖß\nÄr", [ "n€st€d", true ], { "fooß" => "bär", "qu\r\nux" => true } ]
212
- @big = a * 100
213
- @json = JSON.generate(@big)
214
- end
215
-
216
- def benchmark_parser
217
- @result = Yajl::Parser.new.parse(@json)
218
- end
219
-
220
- def generic_reset_method
221
- @result == @big or raise "not equal"
222
- end
223
- end
224
-
225
- if $0 == __FILE__
226
- Bullshit::Case.autorun false
227
-
228
- case ARGV.first
229
- when 'ext'
230
- ParserBenchmarkExt.run
231
- when 'pure'
232
- ParserBenchmarkPure.run
233
- when 'yaml'
234
- ParserBenchmarkYAML.run
235
- when 'rails'
236
- ParserBenchmarkRails.run
237
- when 'yajl'
238
- ParserBenchmarkYajl.run
239
- else
240
- system "#{RAKE_PATH} clean"
241
- system "#{RUBY_PATH} #$0 yaml"
242
- system "#{RUBY_PATH} #$0 rails"
243
- system "#{RUBY_PATH} #$0 pure"
244
- system "#{RAKE_PATH} compile"
245
- system "#{RUBY_PATH} #$0 ext"
246
- system "#{RUBY_PATH} #$0 yajl"
247
- Bullshit.compare do
248
- output_filename File.join(File.dirname(__FILE__), 'data', 'ParserBenchmarkComparison.log')
249
-
250
- benchmark ParserBenchmarkExt, :parser, :load => yes
251
- benchmark ParserBenchmarkExt, :parser_symbolic, :load => yes
252
- benchmark ParserBenchmarkPure, :parser, :load => yes
253
- benchmark ParserBenchmarkPure, :parser_symbolic, :load => yes
254
- benchmark ParserBenchmarkYAML, :parser, :load => yes
255
- benchmark ParserBenchmarkRails, :parser, :load => yes
256
- benchmark ParserBenchmarkYajl, :parser, :load => yes
257
- end
258
- end
259
- end