On 20/03/14 12:26, László Török wrote:
"into" uses "reduce" under the hood, you probably need "fold" to have
the computation to run on FJ:
Yes, now I see all my CPUs being maxed-out.
francois@laptop:~$ perf stat java -cp
~/.m2/repository/org/clojure/clojure/1.5.1/clojure-1.5.1.jar
clojure.main -e "(require '[clojure.core.reducers :as r]) (let [l (into
[] (range 10000000))] (time (r/fold + (r/map #(Math/sin (* % %)) l))))"
"Elapsed time: 1594.89737 msecs"
678.1151045769922
Performance counter stats for 'java -cp
/home/francois/.m2/repository/org/clojure/clojure/1.5.1/clojure-1.5.1.jar clojure.main
-e (require '[clojure.core.reducers :as r]) (let [l (into [] (range
10000000))] (time (r/fold + (r/map #(Math/sin (* % %)) l))))':
23460.971496 task-clock # *4.728**CPUs utilized*
7,663 context-switches # 0.000 M/sec
570 CPU-migrations # 0.000 M/sec
174,586 page-faults # 0.007 M/sec
68,361,248,389 cycles # 2.914
GHz [83.33%]
44,379,949,020 stalled-cycles-frontend # 64.92% frontend cycles
idle [83.21%]
22,520,594,887 stalled-cycles-backend # 32.94% backend cycles
idle [66.75%]
63,715,541,342 instructions # 0.93 insns per cycle
# 0.70 stalled cycles
per insn [83.39%]
11,104,063,057 branches # 473.299
M/sec [83.25%]
155,172,776 branch-misses # 1.40% of all
branches [83.46%]
4.962656410 seconds time elapsed
francois@laptop:~$ perf stat java -cp
~/.m2/repository/org/clojure/clojure/1.5.1/clojure-1.5.1.jar
clojure.main -e "(require '[clojure.core.reducers :as r]) (let [l (into
[] (range 10000000))] (time (reduce + (map #(Math/sin (* % %)) l))))"
"Elapsed time: 5694.224824 msecs"
678.1151045768991
Performance counter stats for 'java -cp
/home/francois/.m2/repository/org/clojure/clojure/1.5.1/clojure-1.5.1.jar clojure.main
-e (require '[clojure.core.reducers :as r]) (let [l (into [] (range
10000000))] (time (reduce + (map #(Math/sin (* % %)) l))))':
21365.047020 task-clock # *2.324 CPUs utilized*
9,443 context-switches # 0.000 M/sec
375 CPU-migrations # 0.000 M/sec
164,960 page-faults # 0.008 M/sec
64,028,578,416 cycles # 2.997
GHz [83.21%]
39,016,283,425 stalled-cycles-frontend # 60.94% frontend cycles
idle [83.26%]
21,038,585,232 stalled-cycles-backend # 32.86% backend cycles
idle [66.77%]
63,857,091,972 instructions # 1.00 insns per cycle
# 0.61 stalled cycles
per insn [83.29%]
11,161,960,110 branches # 522.440
M/sec [83.48%]
138,372,839 branch-misses # 1.24% of all
branches [83.28%]
9.195138860 seconds time elapsed
francois@laptop:~$
--
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
---
You received this message because you are subscribed to the Google Groups "Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.