[Bf-committers] [Bf-blender-cvs] [26206] Compiling issue

Erwin Coumans erwin.coumans at gmail.com
Sun Jan 24 02:56:53 CET 2010


Dough Lea's malloc was updated a few months ago. I think Unreal Engine  
3 is using it too.

Do you have a URL of this allocator benchmark?

Thanks,
Erwin

Sent from my iPhone

On Jan 23, 2010, at 15:16, joe <joeedh at gmail.com> wrote:

> jcmalloc seems the best, at least from the profiling results the
> firefox people got with it.  Doug lea's malloc is a bit dated, iirc of
> the three or four good ones, it was the worst? can't remember
> precisely, I could easily be wrong.
>
> Joe
>
> On Sat, Jan 23, 2010 at 1:06 PM, Erwin Coumans <erwin.coumans at gmail.com 
> > wrote:
>> Have you tried the very fast and popular Doug Lea Malloc, or  
>> dlmalloc?
>>
>> ftp://g.oswego.edu/pub/misc/
>> http://g.oswego.edu/dl/html/malloc.html
>>
>> Cheers,
>> Erwin
>>
>>
>> On 23 January 2010 10:49, Campbell Barton <ideasman42 at gmail.com>  
>> wrote:
>>> did you try one of the malloc replacements? - should be able to do  
>>> it
>>> without rebuilding blender even.
>>> I tried 3 popular malloc replacements (benchmarked with the game  
>>> engine)
>>> jemalloc, nedmalloc and hoard IIRC None made much of a difference  
>>> for
>>> me though perhaps the  BGE isnt a good test case, was also trying on
>>> linux with an optimized build.
>>>
>>>
>>> On Sat, Jan 23, 2010 at 5:21 PM, joe <joeedh at gmail.com> wrote:
>>>> This is also something I've had to deal with in the bmesh branch,  
>>>> and
>>>> the code I wrote there should never see the light of day in trunk
>>>> (which motivates me to tackle this now :) ).  It's really quite
>>>> horrible what I wrote to deal with vgroups performance problems.
>>>>
>>>> Joe
>>>>
>>>> On Sat, Jan 23, 2010 at 8:20 AM, joe <joeedh at gmail.com> wrote:
>>>>> The purpose was simple experimentation, since we need to do
>>>>> *something* and at the time I didn't think people would go for  
>>>>> using
>>>>> jcmalloc.  Vgroups really are a bad source of performance loss,  
>>>>> mostly
>>>>> in debug builds (which we need to be usable but aren't in some  
>>>>> cases).
>>>>>  I was hoping to elicit ideas from other people, and go from  
>>>>> there.
>>>>> Anyway, it was silly of me to ignore the possibility of using
>>>>> jcmalloc, which we can probably drop in as a replacement for  
>>>>> malloc
>>>>> within guardedalloc itself (and even have compile time options  
>>>>> to have
>>>>> guardedalloc go straight through to jcmalloc).
>>>>>
>>>>> Joe
>>>>>
>>>>> On Sat, Jan 23, 2010 at 6:53 AM, Brecht Van Lommel <brecht at blender.org 
>>>>> > wrote:
>>>>>> Hi Joe,
>>>>>>
>>>>>> Right, I replied to the wrong mail, I was talking about the
>>>>>> guardedalloc changes. I understand this is experimental, but I  
>>>>>> don't
>>>>>> think some more experimentation will be prove this to be the  
>>>>>> right
>>>>>> thing to do. It may well lead to a speedup in simple test  
>>>>>> cases, but a
>>>>>> simple use of pooling can lead to much wasted memory and make  
>>>>>> problems
>>>>>> worse when running Blender for a while. So it is not clear to  
>>>>>> me what
>>>>>> the purpose is here, if this is the start of writing an advanced
>>>>>> memory allocator then I don't think we should try to do that
>>>>>> ourselves, and if not then I don't think this can be good  
>>>>>> enough to
>>>>>> put in a release.
>>>>>>
>>>>>> Brecht.
>>>>>>
>>>>>> On Sat, Jan 23, 2010 at 3:19 PM, joe <joeedh at gmail.com> wrote:
>>>>>>> What are you talking about specifically?  It helps with ghash,  
>>>>>>> because
>>>>>>> each bucket node was being allocated individually, causing a
>>>>>>> significant speed problem.  This particular solution was very
>>>>>>> appropriate; it's why we have the mempool library in the first  
>>>>>>> place.
>>>>>>>
>>>>>>> Now, the experimental code I committed (#ifdef'd out) to  
>>>>>>> guardedalloc
>>>>>>> is different (and was a
>>>>>>> different commit even).  This particular commit has nothing to  
>>>>>>> do with
>>>>>>> that.  On that topic, OSX has (or had, anyway) a reputation  
>>>>>>> for having
>>>>>>> a system allocator almost as slow as windows; linux is the  
>>>>>>> only OS as
>>>>>>> far as I know (other then the BSDs I guess) that doesn't  
>>>>>>> suffer from
>>>>>>> this.  So it's hardly simply a windows issue.
>>>>>>>
>>>>>>> The overhead we get from guardedalloc isn't all that bad,  
>>>>>>> really.  I
>>>>>>> wasn't talking about that in the slightest.  What I was  
>>>>>>> talking about
>>>>>>> was the significant performance loss we get from overusing the  
>>>>>>> system
>>>>>>> allocator, which has caused significant problems for me and  
>>>>>>> others.  I
>>>>>>> committed the code #ifdef'd out, so people who need it can  
>>>>>>> play around
>>>>>>> with it but not cause problems for others.  There's a reason  
>>>>>>> it's
>>>>>>> *experimental*.
>>>>>>>
>>>>>>> Joe
>>>>>>>
>>>>>> _______________________________________________
>>>>>> Bf-committers mailing list
>>>>>> Bf-committers at blender.org
>>>>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>>>>>
>>>>>
>>>> _______________________________________________
>>>> Bf-committers mailing list
>>>> Bf-committers at blender.org
>>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>>>
>>>
>>>
>>>
>>> --
>>> - Campbell
>>> _______________________________________________
>>> Bf-committers mailing list
>>> Bf-committers at blender.org
>>> http://lists.blender.org/mailman/listinfo/bf-committers
>>>
>> _______________________________________________
>> Bf-committers mailing list
>> Bf-committers at blender.org
>> http://lists.blender.org/mailman/listinfo/bf-committers
>>
> _______________________________________________
> Bf-committers mailing list
> Bf-committers at blender.org
> http://lists.blender.org/mailman/listinfo/bf-committers


More information about the Bf-committers mailing list