List:Internals« Previous MessageNext Message »
From:Konstantin Osipov Date:May 22 2009 10:26pm
Subject:Re: Value objects and Protocol (WL#4760)
View as plain text  
* Brian Aker <brian@stripped> [09/05/22 21:05]:
> The theory is that there is a lot  of copying going on in the server and 
> that a value object might solve some of this. It would also keep for a 
> nice bit of abstraction around data held by engines.
>
> The current system is very optimized for MyISAM/HEAP, and there may, or 
> may not, be some gain in removing that to make the interface more  
> optimum for other engines. See the earlier thread about the contents of 
> row[] and the unireg in memory format.

Value class doesn't require MyISAM/HEAP to change
its record format, on disk or in memory. It's just that the server
won't ever have to know what this format is -- it will talk to
MyISAM by means  of get() and store(), calling them only when
necessary.

As to the amount of copying, I believe in future we will be able
to actually reduce it: having a single class responsible to carry
a value, independent of the parse tree, will allow us to use one
of the register allocation algorithms to minimize the amount of
independent values necessary to evaluate an expression.

> Keep in mind that in all of the current trees MyISAM/HEAP are used as  
> internal temp tables and that any change could easily result in poor  
> performance in the core.

Hard to discuss whether we can break it or not without having an
architecture specification at hand. There is always a possibility 
of breaking something.

-- 
Thread
Value objects and Protocol (WL#4760)Øystein Grøvlen22 May
  • Re: Value objects and Protocol (WL#4760)Konstantin Osipov22 May
    • Re: Value objects and Protocol (WL#4760)Alex Esterkin22 May
      • Re: Value objects and Protocol (WL#4760)Brian Aker22 May
        • Re: Value objects and Protocol (WL#4760)Alex Esterkin22 May
          • Re: Value objects and Protocol (WL#4760)Brian Aker22 May
          • Re: Value objects and Protocol (WL#4760)Sergei Golubchik23 May
        • Re: Value objects and Protocol (WL#4760)Konstantin Osipov23 May
          • Re: Value objects and Protocol (WL#4760)Brian Aker23 May
    • Re: Value objects and Protocol (WL#4760)Øystein Grøvlen22 May
      • Re: Value objects and Protocol (WL#4760)Konstantin Osipov22 May
        • Re: Value objects and Protocol (WL#4760)Alex Esterkin22 May
          • Re: Value objects and Protocol (WL#4760)Øystein Grøvlen25 May
        • Re: Value objects and Protocol (WL#4760)Øystein Grøvlen24 May
          • Re: Value objects and Protocol (WL#4760)Konstantin Osipov24 May
      • Re: Value objects and Protocol (WL#4760)Konstantin Osipov23 May
        • Re: Value objects and Protocol (WL#4760)Øystein Grøvlen25 May
          • Re: Value objects and Protocol (WL#4760)Michael Widenius6 Jun
            • Re: Value objects and Protocol (WL#4760)Øystein Grøvlen8 Jun
            • Re: Value objects and Protocol (WL#4760)Jay Pipes8 Jun
              • Re: Value objects and Protocol (WL#4760)Jay Pipes8 Jun
  • Re: Value objects and Protocol (WL#4760)Jay Pipes24 May
    • Re: Value objects and Protocol (WL#4760)Øystein Grøvlen25 May
      • Re: Value objects and Protocol (WL#4760)Jay Pipes26 May
    • Re: [Drizzle-discuss] Value objects and Protocol (WL#4760)Jim Starkey28 May
Re: Value objects and Protocol (WL#4760)Brian Aker22 May