>> > > 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