real-time monitoring of propriety system: embedding python in C or embedding C in python?
tjreedy at udel.edu
Tue Feb 5 20:33:28 CET 2013
On 2/5/2013 10:23 AM, Duncan Booth wrote:
> Bas <wegwerp at gmail.com> wrote:
>> A) Implement the main program in C. In a loop, get a chunk of data
>> using direct call of C functions, convert data to python variables and
>> call an embedded python interpreter that runs one iteration of the
>> user's algorithm. When the script finishes, you read some variables
>> from the interpreter and then call some other C-function to write the
>> B) Implement the main loop in python. At the beginning of the loop,
>> you call an embedded C function to get new data (using ctypes?), make
>> the result readable from python (memoryview?), do the user's
>> calculation and finally call another C function to write the result.
>> Are there any advantages for using one method over the other? Note
>> that I have more experience with python than with C.
> Option B sounds like it makes your life simpler. Just turn the external
> code into a library, use ctypes to call the library and you're done. That
> also means reading command line arguments and/or config files can be done
> in Python and keep the C code simpler.
This is exactly how I would start. If this is not fast enough for
production, Cython may help.
Terry Jan Reedy
More information about the Python-list