using level-sublevel, level-sec and validimir to have
- validations
- schema documentation
- schema enforcement
- index definitions
using level-sublevel, level-sec and validimir to have
// data comes from here http://stat-computing.org/dataexpo/2009/the-data.html | |
// download 1994.csv.bz2 and unpack by running: cat 1994.csv.bz2 | bzip2 -d > 1994.csv | |
// 1994.csv should be ~5.2 million lines and 500MB | |
// importing all rows into leveldb took ~50 seconds on my machine | |
// there are two main techniques at work here: | |
// 1: never create JS objects, leave the data as binary the entire time (binary-split does this) | |
// 2: group lines into 16 MB batches, to take advantage of leveldbs batch API (byte-stream does this) | |
var level = require('level') |
#cloud-config | |
ssh_authorized_keys: | |
- ssh-rsa PutYourKeysHere | |
coreos: | |
locksmith: | |
endpoint: "https://127.0.0.1:2379" | |
etcd_cafile: /etc/ssl/certs/ca.pem | |
etcd_certfile: /etc/ssl/client/client.pem | |
etcd_keyfile: /etc/ssl/client/client.key |
/* WebRTC consist of a few moving pieces | |
- A signal mechanism for peers | |
- A signal mechanism to send offers & answers | |
- A simplified peerConnection function | |
*/ | |
var uuid = require("node-uuid") | |
, assert = require("assert") |
In other words, the following asynchronous code:
var d = Domain.create()
d.on("error", function (error) {
console.error("Error with the twitterverse:", error)
})
d.enter()
package com.phonegap.plugins.websocket; | |
import android.os.Bundle; | |
import android.util.Log; | |
import org.json.JSONArray; | |
import org.json.JSONException; | |
import org.json.JSONObject; | |
import org.apache.cordova.api.Plugin; | |
import org.apache.cordova.api.PluginResult; | |
import java.net.URI; |
[api]: New apis / changes to apis | |
[test]: Update test/* files | |
[dist]: Changes to submodules, version bumps, updates to package.json | |
[minor]: Small changes | |
[doc]: Updates to documentation | |
[ux]: Updates to UX | |
[fix]: Bug fixes | |
[bin]: Update binary scripts associated with the project | |
[merge]: Resolved git merge from upstream or otherwise | |
[refactor]: Refactor of existing code with no external API changes |
If you have comments on this or disagree about rules then please reach out to me directly. I want to hear it!
Basics
anyone who has played around with getting performant IO in node will tell you to get really great performance you need to avoid unnecessary memory allocations and memory copying.
Working on pull-file I could get about 1gb/s read on a warm cache, but if I just reused the same buffer over and over I could get 2gb/s!
reusing memory is easy to do in a benchmark, but in an a real system when you read data in order to do something with it. maybe you write it to another file or socket, or maybe you encrypt it? maybe you pass it to a multiplexer which adds framing and then writes that to a socket?