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

Reply via email to