Skip to content

Instantly share code, notes, and snippets.

Avatar
🙀
🐛

Andrew Ekstedt magical

🙀
🐛
View GitHub Profile
@magical
magical / latency.markdown
Created Oct 9, 2016 — forked from hellerbarde/latency.markdown
Latency numbers every programmer should know
View latency.markdown

Latency numbers every programmer should know

L1 cache reference ......................... 0.5 ns
Branch mispredict ............................ 5 ns
L2 cache reference ........................... 7 ns
Mutex lock/unlock ........................... 25 ns
Main memory reference ...................... 100 ns             
Compress 1K bytes with Zippy ............. 3,000 ns  =   3 µs
Send 2K bytes over 1 Gbps network ....... 20,000 ns  =  20 µs
SSD random read ........................ 150,000 ns  = 150 µs

Read 1 MB sequentially from memory ..... 250,000 ns = 250 µs

@magical
magical / gist:ae51f97677632e694c4c
Last active Oct 5, 2015 — forked from anonymous/-
hypothetical design for a daily todo list app
View gist:ae51f97677632e694c4c
hypothetical design for a daily todo list app
sits in the tray
click the tray icon to toggle the main window
has space for 10 (7? 12?) todo items
an item is a status icon and a short bit of text
status can be · or ✔ or ✘
click on an item to edit its text
click on a blank item to add a new item
click on the status to cycle through
View bch2obj.go
package main
import (
"bytes"
"encoding/binary"
"flag"
"fmt"
"io"
"io/ioutil"
"math"