前に書いたreduceのポストのトラフィックが意外に高くて気をよくしたのでもうちょっと書いてみる。reduceの使いかたはその1 (reduce f coll)その2 (reduce f val coll)fは2つの引数を採って1番目の引数と同じ形の値を返す関数。どちらの場合でも、collの要素を一つずつ2番目の引数にしながら、collが無くなるまで、fを呼び出していくけれど、一番最初に違いがある。その1の書式では、最初の引数は、collの1番目と2番目の要素になる。ということは、reduceの結果は要素と同じ形のものしか作れないことになる。しかし、その2では、最初の引数はvalと1番目の引数になる。これはreduceの結果がvalと同じ形になることを意味しているので、好きな結果を得ることができるのだ。さて、こんなデータがあるとする。(def sample-data...

自宅のパソコンが壊れちゃったので、新しいノートPCを買った。最近はいいやつが安く買えるので、思いきってCore i7のを買ってしまった。で、前に仕事パソコンでやった並列処理の速度を測ってみた。新PC Core i7 2630 クロック 2.00GHz コア数 4 MEM: 4GB旧PC Core?2 Duo SL9300 クロック 1.60GHz コア数 2 MEM: 2GBさらにi7はハイパースレッディングで仮想コアがあるのでOSからは8つのコアに見える。処理は 2の10000乗を10000個計算して、下2桁の合計を求めるもの。まずは単一スレッドでの実行。コードはこれ。(let...