This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH] Use single shared memory block pool for all pool allocators


On Sun, Jul 26, 2015 at 9:09 PM,  <pinskia@gmail.com> wrote:
>
>
>
>
>> On Jul 26, 2015, at 11:50 AM, Andi Kleen <andi@firstfloor.org> wrote:
>>
>> Mikhail Maltsev <maltsevm@gmail.com> writes:
>>
>>> Hi, all!
>>> Recently I did some profiling of GCC to find hotspots and areas of possible
>>> performance improvement among them. glibc malloc(3) is one of (perhaps
>>> known)
>>
>> I've been compiling gcc with tcmalloc to do a similar speedup. It would be
>> interesting to compare that to your patch.
>>
>> Another useful optimization is to adjust the allocation size to be >=
>> 2MB. Then modern Linux kernels often can give you a large page,
>> which cuts down TLB overhead. I did similar changes some time
>> ago for the garbage collector.
>
> Unless you are running with 64k pages which I do all the time on my armv8 system.

This can be a host configurable value of course.

But first of all (without looking at the patch but just reading the
description) this
sounds like a good idea.  Maybe still allow pools to use their own backing if
the object size is larger than the block size of the caching pool?

Thanks,
Richard.

> Thanks,
> Andrew
>
>
>>
>> BTW I saw big differences in larger LTO builds.
>>
>> -Andi
>>
>> --
>> ak@linux.intel.com -- Speaking for myself only


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]