UNPKG

dataship-frame

Version:

A Data Frame for Javascript. Crunch numbers in node and the browser.

49 lines (32 loc) 962 B
var benchtap = require('benchtap'), gen = require('../lib/test').generate, Frame = require('../lib/frame'); function createSetup(N, K, useStrings){ return function(event){ // generate data this.groupCol = gen.Array.int(N, K); this.valueCol = gen.Array.int(N, 100); // map to strings if(useStrings) this.groupCol = this.groupCol.map(i => ["a", "b", "c"][i]); }; } function test(){ // create frame var columnDict = { "group-col" : this.groupCol, "reduce-col" : this.valueCol }; this.frame = new Frame(columnDict); } var N = 100000, K = 3; var name = "create: " + N + "x" + K; benchtap(name, {"operations": N}, createSetup(N, K), test); name += " (strings)"; benchtap(name, {"operations": N}, createSetup(N, K, true), test); var N = 1000000; name = "create: " + N + "x" + K; benchtap(name, {"operations": N}, createSetup(N, K), test); name += " (strings)"; benchtap(name, {"operations": N}, createSetup(N, K, true), test);