clojureのreduceの使いどころ その2

Posted by YpsilonTAKAI On 2011年8月28日日曜日 0 コメント
前に書いた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...
READ MORE

clojureの並列処理 デュアルコア その2

Posted by YpsilonTAKAI On 2011年8月20日土曜日 0 コメント
自宅のパソコンが壊れちゃったので、新しいノート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...
READ MORE
Page 1 of 441234567Next