With Rust 1.0-alpha, the macro reform RFC is mostly implemented. This document gives a quick guide to migrating your code.
A macro import such as
# dummy_httpd.py | |
# based on python 2.7 | |
import BaseHTTPServer | |
from BaseHTTPServer import BaseHTTPRequestHandler | |
from SocketServer import ThreadingMixIn | |
import threading | |
import time | |
class ThreadedHTTPServer(ThreadingMixIn, BaseHTTPServer.HTTPServer): | |
daemon_threads = True |
With Rust 1.0-alpha, the macro reform RFC is mostly implemented. This document gives a quick guide to migrating your code.
A macro import such as
... or Why Pipelining Is Not That Easy
Golang Concurrency Patterns for brave and smart.
By @kachayev
package main | |
// #include <stdlib.h> | |
// #include "wrapper.c" | |
import "C" | |
import "unsafe" | |
import "fmt" | |
func read(filename string) string { | |
f := C.CString(filename) |
Latency Comparison Numbers (~2012) | |
---------------------------------- | |
L1 cache reference 0.5 ns | |
Branch mispredict 5 ns | |
L2 cache reference 7 ns 14x L1 cache | |
Mutex lock/unlock 25 ns | |
Main memory reference 100 ns 20x L2 cache, 200x L1 cache | |
Compress 1K bytes with Zippy 3,000 ns 3 us | |
Send 1K bytes over 1 Gbps network 10,000 ns 10 us | |
Read 4K randomly from SSD* 150,000 ns 150 us ~1GB/sec SSD |
$ go run client.go | |
2012/03/28 22:30:21 client: connected to: 127.0.0.1:8000 | |
Client: Server public key is: | |
[48 129 159 48 13 6 9 42 134 72 134 247 13 1 1 1 5 0 3 129 141 0 48 129 137 2 129 129 0 188 73 207 11 137 150 106 118 45 27 12 18 76 183 252 31 22 193 109 43 118 130 188 244 197 136 26 55 239 51 225 67 171 20 87 35 107 190 16 158 181 84 225 159 112 70 131 173 136 181 130 151 156 4 142 141 218 100 116 219 228 211 136 155 179 220 50 21 181 134 211 72 22 38 226 51 170 165 39 65 231 3 15 26 54 193 142 242 28 66 96 88 138 237 217 65 144 89 231 177 179 200 116 30 45 148 174 56 57 244 29 17 8 22 86 54 215 14 207 55 223 164 216 184 21 46 29 233 2 3 1 0 1] <nil> | |
2012/03/28 22:30:21 client: handshake: true | |
2012/03/28 22:30:21 client: mutual: true | |
2012/03/28 22:30:21 client: wrote "Hello\n" (6 bytes) | |
2012/03/28 22:30:21 client: read "Hello\n" (6 bytes) | |
2012/03/28 22:30:21 client: exiting | |
$ |
brew install git
brew install wget
git clone [email protected]:rmurphey/dotfiles.git