I often use the profiler :)
The float printString is all fairly evenly split which is why I mention
about whether another implementation may be required. I'll always raise
anything much more obvious that I see!
Hi Chris,
My recommendation in this case is always do not spend a single second
trying to figure out what is the bottleneck by yourself. First thing
ever to do, is to run a profiler. You can do that very easily in Pharo.
TimeProfiler spyOn: [ Transcript show: 'do something for real here to
benchmark'.
Object allSubclasses. ]
replace the closure for what you want to benchmark.
Then, share with us if you have interesting finds....
Cheers,
On Mon, Jul 29, 2013 at 3:52 PM, Chris <cpmbai...@btinternet.com
<mailto:cpmbai...@btinternet.com>> wrote:
I've been getting a little concerned with certain aspects of
performance recently. Just a couple of examples off the top of my
head were trying to do a printString on 200000 floats which takes
over 3 seconds. If I do the same in Python it is only 0.25
seconds. Similarly reading 65000 points from a database with the
PostgresV2 driver was about 800m/s and only 40 with psycopg. I'd
have to try it again but am pretty sure going native was faster
than OpenDBX as well. I appreciate Pharo is never going to be able
to compete with the static-typed heavyweight languages but would
hope we can get performance at least comparable to other dynamic
languages :) Is it just that some method implementations are in
need of some TLC; more things moved on top of C libraries and
primitives and so forth rather than anything with the VM itself?
Cheers
Chris
--
Mariano
http://marianopeck.wordpress.com