Skip to content

Instantly share code, notes, and snippets.


Tim onewaterdrop

View GitHub Profile
onewaterdrop / latency.txt
Created December 28, 2017 03:15 — forked from jboner/latency.txt
Latency Numbers Every Programmer Should Know
View latency.txt
Latency Comparison Numbers
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
onewaterdrop / System
Created December 27, 2017 22:45 — forked from vasanthk/System
System Design Cheatsheet
View System

System Design Cheatsheet

Picking the right architecture = Picking the right battles + Managing trade-offs

Basic Steps

  1. Clarify and agree on the scope of the system
  • User cases (description of sequences of events that, taken together, lead to a system doing something useful)
    • Who is going to use it?
    • How are they going to use it?
package foo;
import edu.stanford.nlp.fsm.ExactGrammarCompactor;
import edu.stanford.nlp.ling.*;
import edu.stanford.nlp.objectbank.TokenizerFactory;
import edu.stanford.nlp.parser.ViterbiParser;
import edu.stanford.nlp.parser.KBestViterbiParser;
public class BlockingQueue implements Queue {
private java.util.Queue queue = new java.util.LinkedList();
* Make a blocking Dequeue call so that we'll only return when the queue has
* something on it, otherwise we'll wait until something is put on it.
* @returns This will return null if the thread wait() call is interrupted.
onewaterdrop / UniquePaths
Last active January 2, 2016 13:39
UniquePaths for leetcode
View UniquePaths
public class UniquePaths {
* @param args
public static void main(String[] args) {
// TODO Auto-generated method stub
onewaterdrop / index
Last active January 2, 2016 08:39
Sharing samples of leetcode solutions and awesome codes
View index
package generating.paranthesis;
import java.util.ArrayList;
import java.util.Arrays;
public class Solution {
* @param args