The latest version of symjit (v2.3.0) is now available (with thanks to 
Jason). You can install it as `conda install -c conda-forge symjit`.

In addition to being more stable, Symjit should be significantly faster, 
especially for certain workloads relevant to SymPy. The main improvements 
are:

1. Better codegen with optimized register allocator and fewer mem-copy 
operations. 
2. Multi-threading is enabled on all platforms by default. Note that this 
is at the level of the Rust code and is not visible to Python nor affected 
by the GIL. Multi-threading can significantly improve the performance of 
parallel workloads when the compile function is called on vectors.
3. Symjit now recognizes and emits specialized code for exponentiation to 
an integer power with or without mod operation. This is especially 
important when evaluating polynomials, as we observe a speed-up of more 
than 100x for high-degree polynomial evaluation. 

The planned additions in the near future:

1. RISC-V support.
2. Common sub-expression elimination. 

Comments and recommendations are welcome, especially if there is a need for 
a specific feature.

Thanks,

Shahriar

On Sunday, April 13, 2025 at 11:56:14 AM UTC-4 Oscar wrote:

> On Sun, 13 Apr 2025 at 15:04, Shahriar Iravanian <[email protected]> 
> wrote:
> >
> > Hi Oscar,
> >
> > I wrote a light wrapper around the symjit python backend. It can be 
> installed using `pip install funcbuilder`. The only dependency is numpy. 
> The GitHub repo is https://github.com/siravan/funcbuilder.
>
> Thanks Shahriar. I will try adding it to protosym to do some testing.
>
> --
> Oscar
>

-- 
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/sympy/bfc4cb7a-8651-4d9c-a331-80d05138619an%40googlegroups.com.

Reply via email to