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.
- data/.gitignore +3 -0
- data/.travis.yml +4 -3
- data/CHANGES +7 -0
- data/Gemfile +2 -2
- data/README.rdoc +1 -1
- data/Rakefile +48 -58
- data/VERSION +1 -1
- data/ext/json/ext/generator/generator.c +17 -8
- data/ext/json/ext/generator/generator.h +1 -0
- data/install.rb +7 -3
- data/java/src/json/ext/StringDecoder.java +1 -0
- data/json.gemspec +6 -9
- data/json_pure.gemspec +5 -8
- data/lib/json/pure/generator.rb +6 -2
- data/lib/json/version.rb +1 -1
- data/tests/test_json.rb +3 -3
- data/tests/test_json_generate.rb +18 -16
- metadata +26 -63
- data/benchmarks/data-p4-3GHz-ruby18/.keep +0 -0
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log +0 -52
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat +0 -1000
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat +0 -1001
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat +0 -900
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat +0 -901
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat +0 -1000
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat +0 -1001
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log +0 -261
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat +0 -1000
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat +0 -1001
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat +0 -1000
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat +0 -1001
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat +0 -1000
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat +0 -1001
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log +0 -262
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat +0 -1000
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat +0 -1001
- data/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log +0 -82
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log +0 -34
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat +0 -900
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat +0 -901
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log +0 -81
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat +0 -1000
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat +0 -1001
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log +0 -82
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat +0 -1000
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat +0 -1001
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log +0 -82
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat +0 -1000
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat +0 -1001
- data/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log +0 -82
- data/benchmarks/data/.keep +0 -0
- data/benchmarks/generator2_benchmark.rb +0 -222
- data/benchmarks/generator_benchmark.rb +0 -224
- data/benchmarks/ohai.json +0 -1216
- data/benchmarks/ohai.ruby +0 -1
- data/benchmarks/parser2_benchmark.rb +0 -251
- 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
|