List:Internals« Previous MessageNext Message »
From:Michael Widenius Date:March 2 2009 2:15pm
Subject:Re: [Drizzle-discuss] Removing Array custom vector allocation for
semi-join subqueries
View as plain text  
Hi!

>>>>> "Monty" == Monty Taylor <mordred@stripped> writes:

Monty> Brian Aker wrote:
>> Hi!
>> 
>> On Feb 26, 2009, at 12:21 PM, Mats Kindahl wrote:
>> 
>>> recycling. In that case, any pointers into that old memory that are still
>>> dangling would not be useful, since the memory is likely to be
>>> overwritten with
>> 
>> mem_root or not mem_root... I consider this to be pretty bad behavior to
>> rely on.

Monty> Not mem_root. C++ has much better ways of dealing with this sort of
Monty> thing (automatic delloc when you're done with stuff) mem_root was likely
Monty> very important when it was written, and a great idea then.

Monty> Now it's just extra complexity that hides behavior.

For certain objects, memroot is a much better way to do it than with
C++ deallocators:

- Uses less memory overhead for objects
- Less mutex, as you mainly do one free per query and
- Much faster malloc;  Mallocs are done in bigger chunks and for many
  queries you can avoid do any mallocs at all (when the base memory you
  have is big enough)

memroot is of course not useful for objects that changes size or has a
short life time, but it wasn't designed for these.

Regards,
Monty
Thread
Removing Array custom vector allocation for semi-join subqueriesJay Pipes26 Feb
  • Re: Removing Array custom vector allocation for semi-join subqueriesKonstantin Osipov26 Feb
    • Re: Removing Array custom vector allocation for semi-join subqueriesJay Pipes26 Feb
  • Re: [Drizzle-discuss] Removing Array custom vector allocation forsemi-join subqueriesKonstantin Osipov26 Feb
    • Re: [Drizzle-discuss] Removing Array custom vector allocation forsemi-join subqueriesJay Pipes26 Feb
Re: [Drizzle-discuss] Removing Array custom vector allocation for semi-join subqueriesBrian Aker26 Feb
  • Re: [Drizzle-discuss] Removing Array custom vector allocation forsemi-join subqueriesMonty Taylor27 Feb
    • Re: [Drizzle-discuss] Removing Array custom vector allocation for semi-join subqueriesMARK CALLAGHAN27 Feb
      • Re: [Drizzle-discuss] Removing Array custom vector allocation forsemi-join subqueriesMonty Taylor27 Feb
        • Re: [Drizzle-discuss] Removing Array custom vector allocation forsemi-join subqueriesKonstantin Osipov27 Feb
          • Re: [Drizzle-discuss] Removing Array custom vector allocation for semi-join subqueriesMARK CALLAGHAN27 Feb
        • Re: [Drizzle-discuss] Removing Array custom vector allocation for semi-join subqueriesMARK CALLAGHAN27 Feb
          • Re: [Drizzle-discuss] Removing Array custom vector allocation forsemi-join subqueriesJim Starkey27 Feb
    • Re: [Drizzle-discuss] Removing Array custom vector allocation forsemi-join subqueriesMichael Widenius2 Mar
      • Re: [Drizzle-discuss] Removing Array custom vector allocation forsemi-join subqueriesJay Pipes2 Mar
      • Re: [Drizzle-discuss] Removing Array custom vector allocation forsemi-join subqueriesJim Starkey2 Mar
        • Re: [Drizzle-discuss] Removing Array custom vector allocation forsemi-join subqueriesKonstantin Osipov2 Mar
        • Re: [Drizzle-discuss] Removing Array custom vector allocation forsemi-join subqueriesMichael Widenius5 Mar
Re: [Drizzle-discuss] Removing Array custom vector allocation for semi-join subqueriesBrian Aker26 Feb