@afzalimdad9/comma-separated-values
Version:
Simple, blazing-fast CSV parsing/encoding in JavaScript. Full RFC 4180 compliance.
60 lines (50 loc) • 1.3 kB
JavaScript
/* jshint esversion: 6 */
let Benchmark = require('benchmark');
let fs = require("fs");
let CSV = require("./csv");
let Baby = require("babyparse");
let D3 = require("d3-dsv");
let csv = fs.readFileSync("./datasets/csv/marriage_census.csv", "utf8");
let json = JSON.parse(fs.readFileSync("./datasets/json/marriage_census.json", "utf8"));
let log = (event) => console.log(String(event.target));
let noop = () => {};
let opts = {
newline: "\n",
delimiter: ","
};
let streamOpts = {
newline: "\n",
delimiter: ",",
step: noop
};
let suite = new Benchmark.Suite();
suite.
// add("CSV.parse", () => {
// CSV.parse(csv, opts);
// }).
// add("CSV.parse, stream", () => {
// CSV.parse(csv, opts, noop);
// }).
add("D3.parse", () => {
D3.csvParseRows(csv);
}).
add("Baby.parse", () => {
Baby.parse(csv, opts);
}).
add("Baby.parse, stream", () => {
Baby.parse(csv, streamOpts);
}).
add("CSV.encode", () => {
CSV.encode(json, opts);
}).
add("CSV.encode, stream", () => {
CSV.encode(json, opts, noop);
}).
add("Baby.unparse", () => {
Baby.unparse(json, opts);
}).
add("Baby.unparse, stream", () => {
Baby.unparse(json, streamOpts);
}).
on("cycle", log).
run();