I discovered that the Linux-specific method I was using to count
memory allocation calls did not include calls to posix_memalign(). I
then discovered that for the algorithm which was suffering, a memory
buffer was being needlessly freed and allocated, resulting in many
calls to posix_memalign(). This put quite a lot more pressure on
posix_memalign() than need-be.
I eliminated the needless free/alloc and observed that performance
under Linux only slightly improved, suggesting that repeated
posix_memalign()/free() of the same buffer size is very fast under
Linux but not for Illumos/umem.
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/T30dd2eceb8a069b3-M1d74ecbd720a06b0a604498b
Delivery options: https://illumos.topicbox.com/groups/discuss/subscription