Hello,
KEMI can be programmed in Java, JavaScript, Lua(sr), Squirrel, Mono, Perl, Python(2,3,3s), Ruby.
Which language binding has the lowest runtime overhead in CPU-terms? How about lowest overhead in terms of RAM?
Kind regards Дилян
That's a very complicated question. Much depends on the nature of the code you're running!
A general principle is that compiled languages are faster to execute than interpreted ones, but it is common to front-load the interpreting process nowadays, i.e. JIT compilation.
It's probably fair to say that the JVM has a higher memory footprint than some more economical runtimes, but a lot of that cost is reclaimed in performance.
This question touches on a rather expansive and broad theme in computer science and compiler innards. It's not easy to answer at all.
On Dec 17, 2022, at 8:29 AM, Дилян Палаузов dpa-kamailio@bapha.be wrote:
Hello,
KEMI can be programmed in Java, JavaScript, Lua(sr), Squirrel, Mono, Perl, Python(2,3,3s), Ruby.
Which language binding has the lowest runtime overhead in CPU-terms? How about lowest overhead in terms of RAM?
Kind regards Дилян __________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions To unsubscribe send an email to sr-users-leave@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
Hello,
for practical scenarios it does not really matter, if you use one of the modern KEMI variants (e.g. not mono, java, perl). Just pick one that you are familiar with and/or have already some substantial other source code in your infrastructure written for it.
You can of course try to answer the question empirically for an example scenario:
https://www.kamailio.org/w/2018/12/performance-tests-for-kemi-scripting-lang...
You can probably find more benchmark result by searching, there were also some talks a conference about it
Cheers,
Henning
if you have node.js developers, consult with them if https://duktape.org/ is ok
integration is not based on https://v8.dev/ (used by node.js)
Marek
Dne 18/12/2022 v 09:00 Henning Westerholt napsal(a):
Hello,
for practical scenarios it does not really matter, if you use one of the modern KEMI variants (e.g. not mono, java, perl). Just pick one that you are familiar with and/or have already some substantial other source code in your infrastructure written for it.
You can of course try to answer the question empirically for an example scenario:
https://www.kamailio.org/w/2018/12/performance-tests-for-kemi-scripting-lang...
You can probably find more benchmark result by searching, there were also some talks a conference about it
Cheers,
Henning