FYI, I have added the benchmark result on linux.
UDF does have call overhead on linux systems as well, but IMHO in real
world use cases, the effect would be very tiny and can be dismissed.
2008/6/13 Kazuho Oku <kazuhooku@stripped>:
> 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
>
--
Kazuho Oku