>> 
> 
> You could try:
> 
> | floats |
> floats := (1 to: 200000) collect: #asFloat.
> [ FloatPrintPolicy    
>    value: InexactFloatPrintPolicy new
>    during: [ 
>        String new: 1500000 streamContents: [ :stream |
>            floats do: [ :each | each printOn: stream ] ] ] ] timeToRun 
> 
> => 796 ms
> 
> I haven't looked at the Postgresql driver in detail, but I would guess that 
> PostgresV2 reads from a String somewhere, which is slow unless care is taken, 
> while psycopg probably does a binary read. That last thing can be done in 
> Pharo as well, but not if the driver is text based somehow. 
> 
> You are right: Pharo should definitively be in the same range as other 
> dynamically typed languages. But dynamic languages are dangerous: user become 
> lazy / ignorant about performance.
> 
> Thanks for pushing this.

+1 
we need more people to profile and look at these aspects.
I can tell you that we are all working like crazy to improve the system and I 
hope that one of these days we will have 
real regression tests. But well you know it takes a lot of time.

Stef

Reply via email to