THIS GIST WAS MOVED TO TERMSTANDARD/COLORS REPOSITORY.
PLEASE ASK YOUR QUESTIONS OR ADD ANY SUGGESTIONS AS A REPOSITORY ISSUES OR PULL REQUESTS INSTEAD!
THIS GIST WAS MOVED TO TERMSTANDARD/COLORS REPOSITORY.
PLEASE ASK YOUR QUESTIONS OR ADD ANY SUGGESTIONS AS A REPOSITORY ISSUES OR PULL REQUESTS INSTEAD!
| // Steve Phillips / elimisteve | |
| // 2013.01.03 | |
| // Programming Challenge: Launch 4 threads, goroutines, coroutines, or whatever your language uses for concurrency, | |
| // in addition to the main thread. In the first 3, add numbers together (see sample code below) and pass the results | |
| // to the 4th thread. That 4th thread should receive the 3 results, add the numbers together, format the results as | |
| // a string (see sample code), and pass the result back to `main` to be printed. | |
| // | |
| // Do this as succinctly and readably as possible. _Go!_ #golang #programming #concurrency #challenge | |
| package main |
| 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 |