On Thu, Sep 24, 2009 at 3:42 PM, Monty Taylor <[email protected]> wrote:
> MARK CALLAGHAN wrote:
>

>>
>>> In addition, you will see serious performance bottlenecks if TCMalloc is
>>> installed on your benchmark server.  MySQL's memory allocation procedures
>>> simply do not like TCMalloc.
>>
>> Or you used a slow & old version of tcmalloc as Domas has suggested on
>> your blog.
>> http://jpipes.com/index.php?/archives/296-Drizzle-Performance-Regression-Solved-TCMalloc-vs.-No-TCMalloc.html
>
> Yeah - I tried with up-to-date tcmalloc - still no luck.
>
>> I did not use tcmalloc in this case. At my previous employer,
>> performance with tcmalloc was always much better than without. At my
>> current employer I use a different version of Linux and tcmalloc
>> doesn't improve things. I have yet to see it make things worse.
>
> We're still not sure why, but for Drizzle it _definitely_ makes things
> worse.

Drizzle uses STL. Official MySQL does not. There was a big discussion
this week at work about 'STL vs tcmalloc' with the summary:
>>>
The GNU STL implementation attempts to reduce memory allocation
overhead for small objects by using an internal pool.  However, this
turns out to be counterproductive with tcmalloc because tcmalloc's own
small-object freelists are faster (or at least this used to be the
case; I don't know whether either library has changed such that this
is no longer true).
>>>

I suspect that memory allocation behavior is significantly different
in Drizzle because of the use of STL. I am also thrilled that Drizzle
has made it possible to use STL.

-- 
Mark Callaghan
[email protected]

_______________________________________________
Mailing list: https://launchpad.net/~drizzle-discuss
Post to     : [email protected]
Unsubscribe : https://launchpad.net/~drizzle-discuss
More help   : https://help.launchpad.net/ListHelp

Reply via email to