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

Reply via email to