I forgot to mention, I cut the number of reverse iterations down to 1000
(not 1) so I wouldn't have to wait too long for criterium, the speedup
numbers are representative of the full test though.
Cameron.
On Sunday, December 9, 2012 6:26:16 PM UTC+11, cameron wrote:
>
>
> Interesting probl
Interesting problem, the slowdown seems to being caused by the reverse call
(actually the calls to conj with a list argument).
Calling conj in a multi-threaded environment seems to have a significant
performance impact when using lists
I created some alternate reverse implementations (the fastes
Indeed. It is for Leiningen 2.
On Sunday, December 9, 2012 1:05:46 PM UTC+11, Sean Corfield wrote:
>
> Is this for Leiningen 2? I've been running it on Windows 8 64-bit without
> needing to update lein.bat. Which version of Windows are you on?
>
>
> On Sat, Dec 8, 2012 at 10:15 AM, Kruno Saho
>
> Both these issues are probably caused by nrepl-ritz.el not being
> loaded. Does a manual M-: (require 'nrepl-ritz) fix these?
Not for me. If I don't explicitly include "*[clojure-complete "0.2.2"]*"...
... then doing `*M-: (require 'nrepl-ritz)*` before an `*M-x
nrepl-ritz-jack-in*`, still giv
I understand both core.logic and datomic offer a query system. While there
are clear interface differences, and the systems are continuing to evolve
so the answer will change over time, however, I don't have a good first
order approximation understanding of the capabilities or performance
diffe
On Dec 8, 2012, at 10:19 PM, meteorfox wrote:
>
> Now if you run vmstat 1 while running your benchmark you'll notice that the
> run queue will be most of the time at 8, meaning that 8 "processes" are
> waiting for CPU, and this is due to memory accesses (in this case, since this
> is not true
On Dec 8, 2012, at 8:16 PM, Marek Šrank wrote:
>
> Yep, reducers, don't use lazy seqs. But they return just sth. like
> transformed functions, that will be applied when building the collection. So
> you can use them like this:
>
> (into [] (r/map burn (doall (range 4)
>
> See
> http:
Correction regarding the run-queue, this is not completely correct, :S .
But the stalled cycles and memory accesses still holds.
Sorry for the misinformation.
On Friday, December 7, 2012 8:25:14 PM UTC-5, Lee wrote:
>
>
> I've been running compute intensive (multi-day), highly parallelizable
>
Thanks,
That looks like a good start.
On Saturday, December 8, 2012 1:11:58 PM UTC-8, Daniel Pittman wrote:
>
> On Sat, Dec 8, 2012 at 10:31 AM, Adam Perry-Pelletier
> > wrote:
> > Are there any clojure projects/frameworks that would help me write a
> brand
> > new web-like protocol (e.g. ne
Lee:
I ran Linux perf and also watched the run queue (with vmstat) and your
bottleneck is basically memory access. The CPUs are idle 80% of the time by
stalled cycles. Here's what I got on my machine.
Intel Core i7 4 cores with Hyper thread (8 virtual processors)
16 GiB of Memory
Oracle JVM
an
Lee:
So I ran
On Friday, December 7, 2012 8:25:14 PM UTC-5, Lee wrote:
>
>
> I've been running compute intensive (multi-day), highly parallelizable
> Clojure processes on high-core-count machines and blithely assuming that
> since I saw near maximal CPU utilization in "top" and the like that I
Is this for Leiningen 2? I've been running it on Windows 8 64-bit without
needing to update lein.bat. Which version of Windows are you on?
On Sat, Dec 8, 2012 at 10:15 AM, Kruno Saho wrote:
> There seems to be an issue, which I have spent several days combating. The
> issue is simple, you can n
Hi all,
Some people may find it useful to test Clojure from JUnit. e.g.
- You are working in a Java environment, e.g. Eclipse with Counterclockwise
- You want to test some Clojure code as part of a larger JUnit test suite
- You are building a polyglot project and want to stick to one testing suite
> Just tried, my first foray into reducers, but I must not be understanding
> something correctly:
>
> (time (r/map burn (doall (range 4
>
> returns in less than a second on my macbook pro, whereas
>
> (time (doall (map burn (range 4
>
> takes nearly a minute.
>
> This feels lik
Oh nice. An explicit inclusion of "*[clojure-complete "0.2.2"]*" gets rid
of the complete core stacktrace.
I believe that "*complete/core__init.class*" bug ( ultimately just means
that auto-completion and other facilities aren't available ) comes from how
"*nrepl-ritz-jack-in*" sets up a lein repl
Better yet,
(defmacro iff [test & {:keys [then else]}]
`(if ~test ~then ~else))
(that's doing the lookup for then and else in the map constructing
from the macro's rest argument at compilation time rather than in an
evaluated map including both at run time).
Cheers,
Michał
On 9 December 2012
Charles Comstock writes:
> Note that unlike the docs listed at ritz/nrepl, I also needed to add an
> explicit dependency for clojure-complete 0.2.2. I also needed to use the
> MELPA version of nrepl, nrepl-ritz. I still encounter some sort of issue
> where it appears that the documentation qu
You may want to use some delays to prevent evaluation of untaken branches:
user=> (iff true :else (println 1) :then (println 3))
3
1
nil
user=>
On Sat, Dec 8, 2012 at 3:02 PM, Thomas Goossens
wrote:
> One of the issues i had and still have with the if function is that
> because it has ordered
I actually just encountered this error, and then intended to post how I
fixed it as a reported issue and then forgot. So this is my current lein
profile.clj
{:user {:plugins [[lein-vanity "0.1.0"]
[jonase/eastwood "0.0.2"]
[lein-ritz "0.6.0"]]
:depende
One of the issues i had and still have with the if function is that
because it has ordered arguments, makes things more complex.
For small functions this is no so much of a problem.
(if test 1 0)
But when things get larger, that extra complexity of order without
explicit information can get s
I'm glad somebody else can duplicate our findings! I get results similar to
this on Intel hardware. On AMD hardware, the disparity is bigger, and
multiple threads of a single JVM invocation on AMD hardware consistently
gives me slowdowns as compared to a single thread. Also, your results are
on
On Sat, Dec 8, 2012 at 10:31 AM, Adam Perry-Pelletier
wrote:
> Are there any clojure projects/frameworks that would help me write a brand
> new web-like protocol (e.g. newprotocol://)? I've written basic
> servers in clojure, but would like to forego the low-level stream reading
> and get write t
One more possibility to consider:
Single-threaded versions are more likely to keep the working set in the
processor's largest cache, whereas parallel versions that use N times the
working set for N times the parallelism can cause that same cache to thrash to
main memory.
Andy
--
You received
On Dec 8, 2012, at 3:42 PM, Andy Fingerhut wrote:
>
> I'm hoping you realize that (take 1 (iterate reverse value)) is reversing
> a linked list 1 times, each time allocating 1 cons cells (or
> Clojure's equivalent of a cons cell)? For a total of around 100,000,000
> memory allocat
On Dec 7, 2012, at 5:25 PM, Lee Spector wrote:
> The test: I wrote a time-consuming function that just does a bunch of math
> and list manipulation (which is what takes a lot of time in my real
> applications):
>
> (defn burn
> ([] (loop [i 0
> value '()]
>(if (>= i 1
I haven't analyzed your results in detail, but here are some results I had on
my 2GHz 4-core Intel core i7 MacBook Pro vintage 2011.
When running multiple threads within a single JVM invocation, I never got a
speedup of even 2. The highest speedup I measured was 1.82 speedup when I ran
8 threa
Andy: The short answer is yes, and we saw huge speedups. My latest post, as
well as Lee's, has details.
On Friday, December 7, 2012 9:42:03 PM UTC-5, Andy Fingerhut wrote:
>
>
> On Dec 7, 2012, at 5:25 PM, Lee Spector wrote:
>
> >
> > Another strange observation is that we can run multiple inst
Hi guys - I'm the colleague Lee speaks of. Because Jim mentioned running
things on a 4-core Phenom II, I did some benchmarking on a Phenom II X4
945, and found some very strange results, which I shall post here, after I
explain a little function that Lee wrote that is designed to get improved
r
Are there any clojure projects/frameworks that would help me write a brand
new web-like protocol (e.g. newprotocol://)? I've written basic
servers in clojure, but would like to forego the low-level stream reading
and get write to higher-level constructs.
Thanks in advance.
--
You received th
On Dec 8, 2012, at 1:28 PM, Paul deGrandis wrote:
> My experiences in the past are similar to the numbers that Jim is reporting.
>
> I have recently been centering most of my crunching code around reducers.
> Is it possible for you to cook up a small representative test using
> reducers+fork/joi
My experiences in the past are similar to the numbers that Jim is reporting.
I have recently been centering most of my crunching code around reducers.
Is it possible for you to cook up a small representative test using
reducers+fork/join (and potentially primitives in the intermediate steps)?
Pe
There seems to be an issue, which I have spent several days combating. The
issue is simple, you can not download any dependencies, and therefore you
can not run Lein at all.
The solution is very simple, and it is a well knows solution. In lein.bat,
at the very end of the file there needs to be
On Dec 8, 2012, at 9:36 AM, Marshall Bockrath-Vandegrift wrote:
>
> Although it doesn’t impact your benchmark, `pmap` may be further
> adversely affecting the performance of your actual program. There’s a
> open bug regarding `pmap` and chunked seqs:
>
>http://dev.clojure.org/jira/browse/CL
On Dec 7, 2012, at 9:42 PM, Andy Fingerhut wrote:
>
>
> When you say "we can run multiple instances of the test on the same machine",
> do you mean that, for example, on an 8 core machine you run 8 different JVMs
> in parallel, each doing a single-threaded 'map' in your Clojure code and not
>
Lee Spector writes:
> I'm also aware that the test that produced the data I give below,
> insofar as it uses pmap to do the distribution, may leave cores idle
> for a bit if some tasks take a lot longer than others, because of the
> way that pmap allocates cores to threads.
Although it doesn’t i
Even though this is very surprising (and sad) to hear, I'm afraid I've
got different experiences... My reducer-based parallel minimax is about
3x faster than the serial one, on my 4-core AMD phenom II and a tiny bit
faster on my girlfriend's intel i5 (2 physical cores + 2 virtual). I'm
suspecti
Hi David,
next monday me, Federico and Francesco (in cc) which are interns in sinapsi to
learn about big data, machine learning and data visualizations/infographics,
will take a look at cljsbuild code to understand where Compilable protocol is
involved.
Thank again for your advice and support.
37 matches
Mail list logo