[Push] Speed

Lee Spector lspector at hampshire.edu
Wed Jun 30 10:18:17 EDT 2010


It's really hard to know what the meaningful benchmark is here, since different instructions can take radically different times (e.g. especially code-manipulation instructions), and program sizes will matter, and the overhead of beginning/ending executions may matter, etc.

But for a quick test with Clojush running with clojure 1.1.0 on one core on a 3.06 GHz powermac pro I ran a function that generated a random 100-point program and executed it 1000 times with an execution limit of 150 (but I didn't keep track of how many points were actually executed). Timing this 7 times (each of which would have a different random program, generated from the full instruction set that's implemented in Clojush, plus ephemeral random integers and floats) produced:

1842.571 msecs
757.436 msecs
2555.908 msecs
2157.655 msecs
1729.549 msecs
1675.614 msecs
2064.964 msecs

The average of this is about 1800 msecs. This is a wild guess but let's guess that on average there were 100 points executed per run (which maybe splits the difference between programs that were terminated for exceeding the limit at 150 and others that naturally ended after less than the full 100 of their sizes, which can happen for many reasons).

That would mean I'm executing about 1000 * 100 = 100,000 points in 1.8 secs or very approximately 55,000 points/sec.

This is about an order of magnitude SLOWER than what you're reporting, but I suspect we're not really measuring the same things.

I also expect that Clojush will run substantially faster in clojure-1.2 but I haven't gone there yet.

I also suspect that there will be wide variation among the other Push implementations. My guess would be that Schush is the slowest and the C++ version the fastest, but I don't really know that or where the others would fall...

 -Lee



On Jun 29, 2010, at 9:24 AM, PerPlex Ed wrote:

> How fast are your implementations?
> 
> Mine should work at about 500.000 points/second/core.
> 
> I'm not going to spend much time optimizing it but I was curious to know if other people work at a much higher speed or about the same.
> 
> 
> 
> 
> _______________________________________________
> Push mailing list
> Push at lists.hampshire.edu
> https://lists.hampshire.edu/mailman/listinfo/push

--
Lee Spector, Professor of Computer Science
School of Cognitive Science, Hampshire College
893 West Street, Amherst, MA 01002-3359
lspector at hampshire.edu, http://hampshire.edu/lspector/
Phone: 413-559-5352, Fax: 413-559-5438

Check out Genetic Programming and Evolvable Machines:
http://www.springer.com/10710 - http://gpemjournal.blogspot.com/



More information about the Push mailing list