BTW, is there any special consortium list where we can discuss business out of the public eye?---Philippe BackDramatic Performance ImprovementsMob: +32(0) 478 650 140 | Fax: +32 (0) 70 408 027Blog: http://philippeback.be | Twitter: @philippebackHigh Octane SPRLrue cour Boisacq 101 | 1301 Bierges | BelgiumFeatured on the Software Process and Measurement CastSparx Systems Enterprise Architect and Ability Engineering EADocX Value Added ResellerOn Tue, Jul 30, 2013 at 11:02 PM, St�phane Ducasse <stephane.ducasse@inria.fr> wrote:>>
>
> 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