[PD] [PD-announce] jit_expr 0.1: Just in time compiled expr/expr~/fexpr~

Alex x37v.alex at gmail.com
Sun Mar 18 18:09:30 CET 2018


Great!
Thanks Christof!

On Sun, Mar 18, 2018 at 10:03 AM, Christof Ressi <christof.ressi at gmx.at>
wrote:

> 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.alex at gmail.com>
> An: pd-announce at 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-announce at lists.iem.at https://lists.puredata.info/
> listinfo/pd-announce[https://lists.puredata.info/listinfo/pd-announce]
> _______________________________________________ Pd-list at 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 at lists.iem.at mailing list
> UNSUBSCRIBE and account-management -> https://lists.puredata.info/
> listinfo/pd-list
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puredata.info/pipermail/pd-list/attachments/20180318/f808e4c0/attachment.html>


More information about the Pd-list mailing list