[Push] Speed

PerPlex Ed edperplex at yahoo.com
Wed Jun 30 15:55:05 EDT 2010




> True enough, but although I'm no concurrency guru I think that Clojure makes things even easier by encouraging the use of immutable data structures almost everywhere and providing some particularly elegant high-level concurrency structures. In a lot of cases (though this isn't what I currently have in Clojush) going mulitcore is as  simple as changing map to pmap, and you don't have to worry much about contention or races etc.

Language communities tend to ignore other communities and think that the good stuff exists only in their garden :) Anyway, this is mostly irrelevant to Push. It's mostly about personal habits.

>But do bear in mind that a Koza-style GP system (esp with a small purely numeric function set, etc.) is a different beast from PushGP in a bunch of ways.

Yeah, I suspected that Push/PushGP (my evolution framework is similar to PushGP, I guess, even if I'm not following any PushGP description) would be much heavier than Koza-style GP in general. And I'm not using it at its best, for sure.

> I'm glad you're working to make yours efficient! It does matter, 
for 
sure.
> FWIW although I often think of efficiency considerations relatively late in the game some of the other Pushers are much better at this, and you might get some ideas from the non-Lisp implementations.

Actually I meant the opposite! :)
Once I fixed this issues about Mersenne Twister's seeding (that is a punch in the eye), I'm not going to spend much more time in optimization.

I'd like to try Push in few areas and that's all. I'm not even sure that genetic programming is going to do anything useful for me in the near future or that Push is the right genetic programming tool for me.
The code of a stack based language is very different from the code that most people writes by hand.
It's good to be used as black box.
So after I understand a bit how genetic programming work in general and with Push in particular and implement something like pushpop, I may try to use another code representation - instead of Push - and compare the results.


      



More information about the Push mailing list