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