UNPKG

9.34 kBSource Map (JSON)View Raw
1{"version":3,"sources":["benchmark.coffee"],"names":[],"mappings":"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","file":"benchmark.js","sourceRoot":"/source/","sourcesContent":["\n\n\n\n\n\n\n\n############################################################################################################\n# njs_path = require 'path'\n# njs_fs = require 'fs'\n# join = njs_path.join\n#...........................................................................................................\nCND = require 'cnd'\nrpr = CND.rpr\nbadge = 'HOLLERITH-CODEC/benchmarks'\nlog = CND.get_logger 'plain', badge\ninfo = CND.get_logger 'info', badge\nwhisper = CND.get_logger 'whisper', badge\nalert = CND.get_logger 'alert', badge\ndebug = CND.get_logger 'debug', badge\nwarn = CND.get_logger 'warn', badge\nhelp = CND.get_logger 'help', badge\nurge = CND.get_logger 'urge', badge\necho = CND.echo.bind CND\n#...........................................................................................................\nBYTEWISE = require 'bytewise'\nCODEC = require './main'\nCHANCE = new ( require 'chance' )()\nƒ = CND.format_number.bind CND\n\n#-----------------------------------------------------------------------------------------------------------\ntimes = {}\n\n#-----------------------------------------------------------------------------------------------------------\nstart = ( name ) ->\n whisper \"start #{name}\"\n times[ name ] = process.hrtime()\n return null\n\n#-----------------------------------------------------------------------------------------------------------\nstop = ( name ) ->\n dt = process.hrtime times[ name ]\n times[ name ] = dt[ 0 ] + dt[ 1 ] / 1e9\n return null\n\n#-----------------------------------------------------------------------------------------------------------\nreport = ( n, min_name ) ->\n columnify_settings =\n config:\n dt: { align: 'right' }\n rel: { align: 'right' }\n max: { align: 'right' }\n if min_name?\n min = times[ min_name ]\n else\n min = Math.min ( dt for _, dt of times )...\n max = Math.max ( dt for _, dt of times )...\n debug '©q6yuS', min, max\n data = []\n for name, dt of times\n # nanos = \"000000000#{dt[ 1 ]}\"\n # nanos = nanos[ nanos.length - 9 .. nanos.length - 1 ]\n # urge \"#{dt[ 0 ]}.#{nanos} #{name}\"\n entry =\n name: name\n dt: ( dt.toFixed 9 )\n rel: \"#{( dt / min ).toFixed 2}\"\n max: \"#{( dt / max ).toFixed 2}\"\n data.push entry\n urge \"time needed to process #{ƒ n} probes (lower is better):\"\n help '\\n' + CND.columnify data, columnify_settings\n\n#-----------------------------------------------------------------------------------------------------------\n@test_h2c = ( probes ) ->\n start 'H2C.encode'\n CODEC.encode probe for probe in probes\n stop 'H2C.encode'\n\n#-----------------------------------------------------------------------------------------------------------\n@test_bytewise = ( probes ) ->\n start 'bytewise.encode'\n BYTEWISE.encode probe for probe in probes\n stop 'bytewise.encode'\n\n#-----------------------------------------------------------------------------------------------------------\n@test_json = ( probes ) ->\n start 'new Buffer JSON.stringify'\n new Buffer JSON.stringify probe for probe in probes\n stop 'new Buffer JSON.stringify'\n\n#-----------------------------------------------------------------------------------------------------------\n@test_new_buffer = ( probes ) ->\n start 'new_buffer'\n for probe in probes\n b = new Buffer probe\n stop 'new_buffer'\n\n#-----------------------------------------------------------------------------------------------------------\n@test_buffer_write = ( probes ) ->\n b = new Buffer 1024\n start 'buffer_write'\n for probe in probes\n b.write probe[ 0 ]\n stop 'buffer_write'\n\n#-----------------------------------------------------------------------------------------------------------\n@test_string_replace = ( probes ) ->\n start 'string_replace'\n for probe in probes\n x = probe[ 0 ].replace /a/g, '#'\n stop 'string_replace'\n\n#-----------------------------------------------------------------------------------------------------------\n@main = ->\n n = 100000\n whisper \"generating #{ƒ n} probes\"\n method_names = [ 'bool', 'word', 'floating', 'string', ]\n probes = []\n for probe_idx in [ 1 .. n ]\n probe = []\n for _ in [ 0 .. 3 ]\n method_name = method_names[ CND.random_integer 0, method_names.length - 1 ]\n probe.push CHANCE[ method_name ]()\n probes.push probe\n #.........................................................................................................\n help \"generated #{ƒ probes.length} probes; now performing benchmarks\"\n @test_bytewise probes\n @test_json probes\n @test_h2c probes\n # @test_new_buffer probes\n # @test_buffer_write probes\n # @test_string_replace probes\n report n, 'new Buffer JSON.stringify'\n\n\n############################################################################################################\nunless module.parent?\n @main()\n\n\n\n\n\n\n\n\n\n\n\n"]}
\No newline at end of file