[
https://issues.apache.org/jira/browse/TS-1684?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Leif Hedstrom reassigned TS-1684:
---------------------------------
Assignee: Bryan Call
> Reduce the usage of global allocation/free lists - switch to using local
> thread allocation/free lists
> -----------------------------------------------------------------------------------------------------
>
> Key: TS-1684
> URL: https://issues.apache.org/jira/browse/TS-1684
> Project: Traffic Server
> Issue Type: Improvement
> Components: Core
> Reporter: Bryan Call
> Assignee: Bryan Call
> Attachments: ts-1684.patch
>
>
> When running benchmarks ink_freelist_new() normally shows up as one of if not
> the number one function in the code using the most CPU. Currently ATS uses
> global free lists (via ClassAllocator<>, Allocator, and
> SparceClassAllocator<>) for memory allocation for some of its memory
> allocation.
> Here is a list of how frequently the type of allocations are used and the
> "name" given to the allocator. This is a benchmark for a small object in
> cache fetched 100k times.
> 400000 ink_freelist_new: hdrHeap
> 300000 ink_freelist_new: hdrStrHeap
> 203541 ink_freelist_new: ioBlockAllocator
> 199616 proxy allocator thread_alloc: eventAllocator
> 103554 ink_freelist_new: ioDataAllocator
> 103554 ink_freelist_new: ioBufAllocator[5]
> 100100 ink_freelist_new: ioAllocator
> 100000 proxy allocator thread_alloc: hdrHeap
> 100000 proxy allocator thread_alloc: cacheVConnection
> 100000 ink_freelist_new: httpSMAllocator
> 100000 ink_freelist_new: ArenaBlock
> 18507 ink_freelist_new: mutexAllocator
> 4772 ink_freelist_new: eventAllocator
> 162 ink_freelist_new: cacheVConnection
> 102 ink_freelist_new: netVCAllocator
> 100 proxy allocator init thread_alloc: httpClientSessionAllocator
> 100 ink_freelist_new: httpClientSessionAllocator
> 1 proxy allocator thread_alloc: RamCacheCLFUSEntry
> 1 ink_freelist_new: RamCacheCLFUSEntry
> 1 ink_freelist_new: hostDBContAllocator
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira