Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
UDF transmutation
Message
From
12/08/2015 10:07:27
Mike Yearwood
Toronto, Ontario, Canada
 
 
To
12/08/2015 02:13:02
Walter Meester
HoogkarspelNetherlands
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Environment versions
Visual FoxPro:
VFP 9 SP2
OS:
Windows Server 2012
Network:
Windows 2008 Server
Database:
MS SQL Server
Application:
Web
Miscellaneous
Thread ID:
01623094
Message ID:
01623190
Views:
58
>>>>Hey all
>>>>
>>>>I've got a UDF that is something like a cross between SEEK and LOOKUP(). The problem is - calling a UDF is slower than native functions.
>>>>
>>>>The function is liberally scattered everywhere. The parameters do not match the LOOKUP function, which would have been virtually perfect. I know a search and replace might work, but that will break a lot of code too.
>>>>
>>>>So - an idea has been tickling around my mind,
>>>>
>>>>Given the existing call ... MYSEEK(seekthis,"inalias","thistag","returnthis")
>>>>
>>>>would it be possible to #DEFINE and make the above into something native at compile time?
>>>>
>>>>Thanks
>>>Hi Mike,
>>>
>>>the cost of a call to a wrapper function is negligible, unless you are calling it thousands of times, which you shouldn't be doing anyway. So rewrite myseek to use LOOKUP() where appropriate, and you're done.
>>>
>>>Hank
>>
>>We are calling it many thousands of times because of it being used in queries. I disagree with the whole "premature optimization" schtick. Not optimizing at every chance is the true root of all evils.
>
>Hmmm, any reason why you're not using joins in your query?
>Can you give an example in a query?

Hi Walter

There are definitely times where joins are not the best answer. I find I want to use joins where there will be filtering on the joined table. In many cases, where it's simply a decoding - a code to a description, that can be done with a lookup like utility.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform