Author: Robert Virding (Co-inventor of Erlang)
Slides: pdf
Video: youtube
| ;; Now, replace the loop by more telling operations. | |
| (defn tarjan | |
| "Returns the strongly connected components of a graph specified by its nodes | |
| and a successor function succs from node to nodes. | |
| The used algorithm is Tarjan's one." | |
| [nodes succs] | |
| (letfn [(sc [env node] | |
| ; env is a map from nodes to stack length or nil, nil means the node is known to belong to another SCC | |
| ; there are two special keys: ::stack for the current stack and ::sccs for the current set of SCCs |
| (ns net.cgrand.decay | |
| "Exponentially decaying lists. See http://awelonblue.wordpress.com/2013/01/24/exponential-decay-of-history-improved/ | |
| for background and http://clj-me.cgrand.net/2013/02/12/decaying-lists-log-scale-for-lists/ for documentation") | |
| ;; PRNG, formulas straight from java.util.Random javadoc | |
| (defn- seed ^long [^long n] | |
| (bit-and (unchecked-multiply n 0x5DEECE66D) | |
| (unchecked-dec (bit-shift-left 1 48)))) | |
| (defn- next-seed ^long [^long seed] |
| Всем известный мультяшный персонаж Mr. Freeman составил список книг к прочтению. Хочешь мыслить шире, читай. | |
| 1.Данте Алигьери «Божественная комедия» | |
| 2.Аристотель «Политика» | |
| 3.Александр Афанасьев «Русские заветные сказки» | |
| 4.Ричард Бах «Чайка по имени Джонатан Ливингстон» | |
| 5.Александр Беляев «Продавец воздуха» | |
| 6.Энтон Бёрджесс «Заводной апельсин» | |
| 7.Михаил Булгаков «Великий канцлер» | |
| 8.Михаил Булгаков «Мастер и Маргарита» ☑ |
| 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 |