From: Date: June 13 2008 12:25am Subject: Re: Stored Procedures in C++? (and direct access to storage engine API) List-Archive: http://lists.mysql.com/internals/35692 Message-Id: MIME-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Hi, Thank you for the information. I did a small test on my MacBook, and the overhead was about 30 clocks per call. I will run the same code on a linux server when I go to my office today. I have blogged the actual numbers of my benchmark on my blog, so if you are interested, please see http://labs.cybozu.co.jp/blog/kazuhoatwork/2008/06/performance_of_mysql_udfs_vs_n.php 2008/6/12 Brian Aker : > Hi! > > One thing to know about UDF's is that the last benchmark I saw hey are about > 3X lower then a normal function. If you find that you need better > performance, just add an item function to the database directly. > > I know for a while you guys kept your own trees, which is why I mention > this. For most people keeping something around like this would be a big PIA. > > Cheers, > -Brian > > On Jun 12, 2008, at 12:55 AM, Kazuho Oku wrote: > >> Hi, >> >> Thank you for your quick response! After looking at the branch, I >> tried using UDFs for the purpose (I know its nasty), and it seems to >> work fine (over 10x performance boost). >> >> http://labs.cybozu.co.jp/blog/kazuhoatwork/2008/06/optimizing_mysql_performance_u.php >> >> 2008/6/11 Brian Aker : >>> >>> Hi! >>> >>> You should look at Antony Curtis'es tree for this sort of support. Him >>> and >>> Eric Herman have been working on this sort of API for a while now. >>> >>> Cheers, >>> -Brian >>> >>> On Jun 10, 2008, at 9:02 PM, Kazuho Oku wrote: >>> >>>> Is it possible to write stored procedures in C++? Or is anybody >>>> working on something alike? >>>> >>>> What I am looking for is a way to implement stored procedures in C++ >>>> that can be loaded / unloaded dynamically, like UDFs or pluggable >>>> storage engines. And within the stored procedure, I would like to >>>> call the methods of storage engines directly, so that the overhead of >>>> SQL parsing and building execution plans can be bypassed. >>>> >>>> For example, it is difficult to implement a fast SQL query to obtain a >>>> timeline (like that of twitter, please see see >>>> >>>> >>>> http://labs.cybozu.co.jp/blog/kazuhoatwork/2008/06/implementing_timeline_in_web_s.php >>>> for more detail). >>>> IMHO, direct access to storage engine APIs would be of great help in >>>> such >>>> cases. >>>> >>>> -- >>>> Kazuho Oku >>>> >>>> -- >>>> MySQL Internals Mailing List >>>> For list archives: http://lists.mysql.com/internals >>>> To unsubscribe: >>>> http://lists.mysql.com/internals?unsub=brian@stripped >>>> >>> >>> -- >>> _______________________________________________________ >>> Brian "Krow" Aker, brian at tangent.org >>> Seattle, Washington >>> http://krow.net/ <-- Me >>> http://tangent.org/ <-- Software >>> _______________________________________________________ >>> You can't grep a dead tree. >>> >>> >>> >>> >> >> >> >> -- >> Kazuho Oku > > -- > _______________________________________________________ > Brian "Krow" Aker, brian at tangent.org > Seattle, Washington > http://krow.net/ <-- Me > http://tangent.org/ <-- Software > _______________________________________________________ > You can't grep a dead tree. > > > > -- Kazuho Oku