Create a gist now

Instantly share code, notes, and snippets.

level-js put benchmark
<body width="100%" height="100%">
<script src="index.js"></script>
</body>
var drop = require('drag-and-drop-files')
var fileReaderStream = require('filereader-stream')
var through = require('through2')
var leveljs = require('level-js')
var pump = require('pump')
var db = leveljs('bigdata')
db.open(function onOpen() {
drop(document.body, function(files) {
var first = files[0]
var idx = 0
var writes = []
var start = Date.now()
var saver = through(function (ch, enc, next) {
console.log('on chunk', ch.length)
db.put('chunk-' + idx++, ch, function (err) {
writes.push({time: Date.now() - start, size: ch.length})
if (err) return saver.destroy(err)
next()
})
})
pump(fileReaderStream(first, {chunkSize: 8096}), saver, function (err) {
if (err) console.error(err)
var totalLen = 0
var totalTime = writes[writes.length - 1].time
writes.forEach(function (w) {
totalLen += w.size
})
console.log(totalLen / (totalTime / 1000))
})
})
})
{
"name": "datasaver",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"dependencies": {
"drag-and-drop-files": "0.0.1",
"filereader-stream": "^1.0.0",
"level-js": "^2.2.2",
"pump": "^1.0.1"
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment