Skip to main content
GameDev.net gamedev.net
🔒 Locked

Performance: global functions vs. object methods.

Started by Tzarls May 8, 2012 at 8:40 PM 3 replies 1.5k views
Original Post
Tzarls
Tzarls
Hi. Is there any overhead when calling C++ member functions, compared to calling C++ global functions (from a script)?

Thanks!
WitchLord
WitchLord
I'm not aware of any significant overhead when calling C++ member functions compared to C++ global functions from the scripts.

Of course, even in C++ there is a slight overhead when calling member functions compared to global functions. Especially if the member functions are virtual.


Have you noticed a difference in performance? If you show me the script you feel is slower than it should be I'd gladly take a look at it to see if there are any opportunities for optimizing AngelScript further.
AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - <a href="http://www.angelcode.com/tower" rel
Tzarls
Tzarls

Have you noticed a difference in performance?


Not really. It´s just that I have my scripts setup so that the script functions call some object´s method of the same script, which in turn calls a member function in my C++ code, and I was wondering if I could improve performance by using global functions. Time for some testing!
WitchLord
WitchLord
Please let me know the result of the tests. I'm always interested in knowing how AngelScript does in real applications.
AngelCode.com - game development and more - Reference DB - game developer references
AngelScript - free scripting library - BMFont - free bitmap font generator - <a href="http://www.angelcode.com/tower" rel
Tzarls
Tzarls
Just finished some testing - first using some member functions exposed to a script, then using static functions exposed to the same script. At first sight it seems that there´s no significant difference - what´s more, I have the feeling that member functions are a little faster. Have to test further but I wanted to post a quick update.

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.