json_pure 1.6.5 → 1.6.6

Sign up to get free protection for your applications and to get access to all the features.
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 +32 -64
  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
data/benchmarks/ohai.ruby DELETED
@@ -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