As a follow-up to this old topic, I managed to compile Google 'tcalloc' from the 'gperftools' package (https://github.com/gperftools/gperftools/wiki) and used it in place of umem. A summary page regarding tcmalloc may be read at https://gperftools.github.io/gperftools/tcmalloc.html.

Under Linux I had observed performance improvments due to using 'tcalloc' rather than the default allocator from GNU libc. Sometimes I observed lots of time being spent in munmap() under Linux as if releasing memory to the system was a top priority and munmap() took a long time.

Eliminating umem from the build was a bit of a challenge and with umem still linked in, any program would immediately core dump.

I did some performance tests under Illumos. Under Illumos I found that performance with 'umem' was somewhat better than with 'tcalloc'. I think that this is good news regarding 'umem' since it holds up well against an apparently technically strong competitor.

Unfortunately, I still do not observe anything close to the level of OpenMP performance under Illumos as is observed under Linux. Only heavy-weight algorithms achieve what one would consider to be a full speed-up.

Bob
--
Bob Friesenhahn
[email protected], http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer,    http://www.GraphicsMagick.org/
Public Key,     http://www.simplesystems.org/users/bfriesen/public-key.txt

------------------------------------------
illumos: illumos-discuss
Permalink: 
https://illumos.topicbox.com/groups/discuss/T4dde8421d927ac1f-Mdc2d5dc0d24ea70d37562348
Delivery options: https://illumos.topicbox.com/groups/discuss/subscription

Reply via email to