Hi,
I'd like to use llvm from python to generate dynamically:
1) llvm functions from python expressions, eg. an "apply" operation on
a c-array of floats
2) callback functions
3) calls to an external dynamic loaded c-library
I've looked at the llvm python wrappers
but the size of the .so module is just too massive (120Mb).
However, I don't think it is actually necessary for what I want to do,
as I can just generate llvm code and send that to the llvm compiler (at
runtime).
This is what the pypy guys do. They mentioned maybe using the llvm-API, what for
?
All that jazz is for people writing optimizing compilers, no ? Wouldn't it
make
more sense to do all that biz on the python level ?
I did a preliminary test of calling a trivial c-function (in a dynamic lib) from
llvm, by
hardcoding the function address, and it seemed to work ok.
So my main question is: am I on the right path; is this a reasonably
cross-platform strategy ?
Also i wanted to post to the pypy developers: there seems to be some
mutual gravity here. Where I work we do heavy duty
numeric processing with python (machine learning) [1]. Maybe I will get a
chance to work on/with/steal from, pypy. (The guys here are absolutely obsessed
with
speed.)
I just found out that the python AST branch
has been merged, so i'll be investigating this aswell.
bye for now,
Simon.
[1] https://lineal.developer.nicta.com.au/lineal
--
Simon Burton, B.Sc.
Licensed PO Box 8066
ANU Canberra 2601
Australia
Ph. 61 02 6249 6940
http://arrowtheory.com