Search code examples
performancelanguage-agnostic

Selecting An Embedded Language


I'm making an application that analyses one or more series of data using several different algorithms (agents). I came to the idea that each of these agents could be implemented as separate Python scripts which I run using either the Python C API or Boost.Python in my app.

I'm a little worried about runtime overhead TBH, as I'm doing some pretty heavy duty data processing and I don't want to have to wait several minutes for each simulation. I will typically be making hundreds of thousands, if not millions, of iterations in which I invoke the external "agents"; am I better of just hardcoding everything in the app, or will the performance drop be tolerable?

Also, are there any other interpreted languages I can use other than Python?


Solution

  • Yes, tons. Lua and Python seems to be the most popular:

    Embedding Lua

    Embedding Python

    Embedding Tcl

    Embedding Ruby

    Embed Perl

    Embed JavaScript

    There are dozens of JavaScript engines around, this is just an example. Some of them are also frighteningly quick.