$ node bench-01-pull-stream.js
pull3*100000: 1995.798ms
pull_compose*100000: 1968.901ms
pull_chain*100000: 1871.930ms
$ node bench-02-async-stream.js
async3*100000: 3295.666ms
async3*100000: 3145.636ms
async3*100000: 2943.988ms
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const dgram = require('node:dgram') | |
const util = require('node:util') | |
const glossy = require('glossy') | |
const syslogProducer = new glossy.Produce() | |
const socket = dgram.createSocket('udp4') | |
const streams = { | |
stdout: process.stdout.write.bind(process.stdout), | |
stderr: process.stderr.write.bind(process.stderr) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const fs = require('fs') | |
const hyperdrive = require('hyperdrive') | |
const src = `/tmp/${Math.random()}/` | |
console.log(src) | |
const storage = require('dat-storage')(src) | |
const archive = hyperdrive(storage, { latest: true, indexing: true }) | |
archive.writeFile('/dat.json', 'hi', err => { | |
if (err) throw err |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const fs = require('fs') | |
const src = `/tmp/${Math.random()}` | |
Dat(src, (err, dat) => { | |
if (err) throw err | |
dat.archive.writeFile('/dat.json', 'hi', err => { | |
if (err) throw err | |
console.log(fs.readFileSync(`${src}/dat.json`)) // => empty | |
dat.archive.readFile('/dat.json', (err, data) => { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// https://github.com/juliangruber/async-stream | |
function heap (name, Stream) { | |
var start = Date.now() | |
var heap = process.memoryUsage().heapUsed | |
var a = [], N = 100000 | |
for(var i = 0; i < N; i++) | |
a.push(Stream()) | |
console.log(name, (process.memoryUsage().heapUsed - heap)/N, (Date.now()-start)) | |
a = null |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const writeToRemote = new PassThrough() | |
reconnect(async con => { | |
await sendState(con) | |
writeToRemote.pipe(con) | |
}).on('disconnect', () => { | |
writeToRemote.unpipe() | |
}) | |
theRestOfYourProgram.pipe(writeToRemote) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var rad = require('random-access-directory') | |
var store = rad(procss.env.HOME + '/.dat/') | |
// create a first store | |
store = store('hypercore.txt') | |
store.get(0, ...) | |
// create another store, based on the first one | |
// this way modules can pass the store instance |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
index(feed, { | |
start: 0, | |
end: Infinity, | |
key: feed.key | |
}, function onentry (entry, cb) { | |
cb() | |
}, function ondone () { | |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const http = require('http') | |
http.createServer((req, res) => { | |
res.write('<!DOCTYPE html><html><head><title>electron-stream</title><script>') | |
res.write('console.log("hi");\n') | |
setTimeout(() => { | |
res.write('console.log("you");\n') | |
res.end('</script></head></html>') | |
}, 3000) | |
}).listen(8000, () => console.log('8000')) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ name: 'sillytest', | |
time: | |
{ modified: '2016-08-12T20:24:05.671Z', | |
created: '2016-04-04T16:39:05.573Z', | |
'1.0.0': '2016-04-04T16:39:05.573Z', | |
'1.0.1': '2016-04-04T16:42:05.213Z', | |
'1.0.2': '2016-04-04T16:42:24.049Z', | |
'1.0.3': '2016-04-04T16:42:52.291Z', | |
'0.0.1': '2016-08-12T20:19:52.345Z', | |
'0.0.2': '2016-08-12T20:20:08.997Z', |