<div dir="ltr"><div>Great!<br></div>Thanks<span style="font-weight:normal"><span name="Christof Ressi" class="gmail-gD"> Christof</span></span>!<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Mar 18, 2018 at 10:03 AM, Christof Ressi <span dir="ltr"><<a href="mailto:christof.ressi@gmx.at" target="_blank">christof.ressi@gmx.at</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">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.<br>
 <br>
<br>
Gesendet: Sonntag, 18. März 2018 um 17:08 Uhr<br>
Von: Alex <<a href="mailto:x37v.alex@gmail.com">x37v.alex@gmail.com</a>><br>
An: <a href="mailto:pd-announce@lists.iem.at">pd-announce@lists.iem.at</a><br>
Betreff: [PD] [PD-announce] jit_expr 0.1: Just in time compiled expr/expr~/fexpr~<br>
<span class=""><br>
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.<br>
 <br>
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".<br>
 <br>
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]].<br>
</span> 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.<br>
<span class=""> <br>
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.<br>
<br>
Please report any issues here:<br>
<a href="https://github.com/x37v/jit-expr/issues" rel="noreferrer" target="_blank">https://github.com/x37v/jit-<wbr>expr/issues</a><br>
 <br>
 <br>
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.<br>
 <br>
 <br>
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.<br>
 <br>
<br>
The source code can be found in the git repo:<br>
</span><a href="https://github.com/x37v/jit-expr[https://github.com/x37v/jit-expr]" rel="noreferrer" target="_blank">https://github.com/x37v/jit-<wbr>expr[https://github.com/x37v/<wbr>jit-expr]</a><br>
 <br>
-Alex Norman________________________<wbr>_______________________ Pd-announce mailing list <a href="mailto:Pd-announce@lists.iem.at">Pd-announce@lists.iem.at</a> <a href="https://lists.puredata.info/listinfo/pd-announce[https://lists.puredata.info/listinfo/pd-announce]" rel="noreferrer" target="_blank">https://lists.puredata.info/<wbr>listinfo/pd-announce[https://<wbr>lists.puredata.info/listinfo/<wbr>pd-announce]</a> ______________________________<wbr>_________________ <a href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> mailing list UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list[https://lists.puredata.info/listinfo/pd-list]" rel="noreferrer" target="_blank">https://lists.puredata.info/<wbr>listinfo/pd-list[https://<wbr>lists.puredata.info/listinfo/<wbr>pd-list]</a><br>
<div class="HOEnZb"><div class="h5"><br>
______________________________<wbr>_________________<br>
<a href="mailto:Pd-list@lists.iem.at">Pd-list@lists.iem.at</a> mailing list<br>
UNSUBSCRIBE and account-management -> <a href="https://lists.puredata.info/listinfo/pd-list" rel="noreferrer" target="_blank">https://lists.puredata.info/<wbr>listinfo/pd-list</a><br>
</div></div></blockquote></div><br></div>