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 <brian@stripped>:
> 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 <brian@stripped>:
>>>
>>> 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=1
>>>>
>>>
>>> --
>>> _______________________________________________________
>>> 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