Advertisement
Guest User

fast-csv-benchmark.js

a guest
Jan 20th, 2015
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.   var csv = require('fast-csv');
  2.   var fs = require('fs');
  3.  
  4.   var data = [];
  5.  
  6.   var startTime = Date.now();
  7.   for (var i = 0; i < 1000000; i++) {
  8.     var row = [];
  9.     row = [
  10.       Math.floor(Math.random() * 4294967295),
  11.       Math.floor(Math.random() * 4294967295),
  12.       Math.floor(Math.random() * 4294967295),
  13.       Math.floor(Math.random() * 4294967295)
  14.     ];
  15.     data.push(row);
  16.   };
  17.  
  18.   var dataGenerationTime = Date.now();
  19.   console.log(Date() + " - " + data.length + " data rows randomly generated. Converting to CSV...");
  20.   csv.writeToString(data, {
  21.       includeEndRowDelimiter: true
  22.     },
  23.     function(err, csvdata) {
  24.       var csvGenerationTime = Date.now();
  25.       console.log(Date() + " - " + "CSV created. Writing CSV to disk");
  26.       if (err) {
  27.         console.log(err);
  28.       }
  29.       fs.writeFile("csv-generated-data.csv", csvdata, function(err) {
  30.         if (err) {
  31.           console.log("Error writing file: " + err);
  32.         } else {
  33.           var fileWriteTime = Date.now();
  34.           console.log(Date() + " - " + "Wrote file succesfully. Results: ");
  35.           var dataGenTimeElapsed = dataGenerationTime - startTime;
  36.           var csvGenTimeElapsed = csvGenerationTime - dataGenerationTime;
  37.           var fileWriteTimeElapsed = fileWriteTime - csvGenerationTime;
  38.           var str = " - Random Data Generation Time: " + dataGenTimeElapsed + " milliseconds\n";
  39.           str += " - CSV Generation Time: " + csvGenTimeElapsed + " milliseconds\n";
  40.           str += " - File Write Time: " + fileWriteTimeElapsed + " milliseconds\n";
  41.           console.log(str);
  42.         }
  43.       });
  44.     }
  45.   );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement