this looks really great! I just tried to compile it for Windows but failed. 
I'll try again in the next few days and upload binaries to Deken if I succeed.
 

Gesendet: Sonntag, 18. März 2018 um 17:08 Uhr
Von: Alex <x37v.a...@gmail.com>
An: pd-annou...@lists.iem.at
Betreff: [PD] [PD-announce] jit_expr 0.1: Just in time compiled 
expr/expr~/fexpr~

jit_expr is a clone of the pure data expr/expr~/fexpr~ objects. It just-in-time 
compiles its expressions so they should be much more optimized than the 
original. If all works as designed, they should use less CPU than the 
equivalent vanilla, non-expr, patching and have a significant CPU advantage 
over the original expr objects.
 
I've put the external, compiled for 64-bit Mac-OS and 64-bit Linux, up on 
deken: in pd, go to help menu, find externals, search for "jit_expr".
 
After installing the external you should be able to change any of your expr 
family of objects to just in time compile by loading the library, [declare -lib 
jit_expr], and then prefixing the object name with "jit/", for example 
[jit/fexpr~ $x1[0] + $y1[-1]].
 I believe they are feature complete with the originals but I'd love to know if 
there is anything that I'm missing or any bugs that you discover.I'm not 
exactly sure how to profile pure data patches. If anyone has a good approach or 
original expr~/fexpr~ patches that use a lot of CPU you can share, let me know.
 
Compiling in the object takes a little bit of time, so the initial 
instantiation of the object/expression will be a bit slower than the original, 
FYI.

Please report any issues here:
https://github.com/x37v/jit-expr/issues
 
 
BTW, if you're curious to see the llvm assembly produced by your expression, 
send the |print( message into the left most inlet of your object then check out 
the pd console.
 
 
I would love help building Windows and 32-bit Linux versions of the externals. 
I'm guessing we could also do raspi/arm builds but we'd need some changes to 
the source code as it uses llvm and explicitly generates code for x86 right now.
 

The source code can be found in the git repo:
https://github.com/x37v/jit-expr[https://github.com/x37v/jit-expr]
 
-Alex Norman_______________________________________________ Pd-announce mailing 
list pd-annou...@lists.iem.at 
https://lists.puredata.info/listinfo/pd-announce[https://lists.puredata.info/listinfo/pd-announce]
 _______________________________________________ Pd-list@lists.iem.at mailing 
list UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]

_______________________________________________
Pd-list@lists.iem.at mailing list
UNSUBSCRIBE and account-management -> 
https://lists.puredata.info/listinfo/pd-list

Reply via email to