On 19 December 2017 at 00:35, Andreas Brodbeck��<dassi@mindclue.ch>��wrote:
Hi all!

I have a performance problem with Fuel (latest stable) on a Pharo 6.1
(32bit) on Ubuntu 16.04.3 LTS. The serialization and storage to disk of
70MB of data takes more than 6 minutes! While the same task on an
equally powerful Mac takes only 1.5 minutes.

My observation was, that on Linux it is very very slow while writing the
file. The first 30MB of the file are written very fast, but after that
the writing speed drops dramatically.

On the same Linux server, but the application running on an old Pharo
1.4, the serialization was always as fast as on the Mac.

Attached you see an excerpt of the Pharo Time profiler output for the
serialization. The profiling tree looks the same on the Mac, just with
faster times.

What could be the hidden speed eating secret on Linux for Pharo6.1? I
have absolutely no idea where to search! Memory? Streams? File writing
support? Something inside Fuel?
��

On 19 December 2017 at 03:45, Henrik-Nergaard <draagren@outlook.com> wrote:
Hi Andreas,

It looks like you may have problems with hash collisions
FLLargeIdentityDictionary.
What are the tally sizes of the FLLargeIdentityDicitonary used when you
serialize? (If these have a tally larger than ~ 75% of the available size
(4096 items), then there may well be some performance loss).

You could check if file writing is the problem by measuring the time it
takes to only serialize in memory.
You can try to use: "FLSerializer serializeToByteArray: " and see if it
gives better performance?

��
side comment:����
I wonder what could be the performance of hooking�� #serializeToByteArray:�� up directly to mmap ?
�� * http://forum.world.st/Pharo-Shared-Memory-with-C-executable-td4921928.html
�� * http://forum.world.st/ANN-CPPBridge-One-Ring-to-rule-them-ALL-td4922275.html#a4922302

cheers -ben