Hi Ondrej,

Let's say I can manage to hide this a bit in the background before the user 
enter it's first operand and so on. It's more manageable than 10seconds :-/

I don't know where the time is actually spent, I can try to take a look at 
that though.

Thanks for answering :-)

Richard

On Thursday, July 23, 2015 at 6:42:00 PM UTC+2, Ondřej Čertík wrote:
>
> Hi Richard, 
>
> On Thu, Jul 23, 2015 at 3:23 AM, Richard Rondu <[email protected] 
> <javascript:>> wrote: 
> > Hi everyone. 
> > 
> > I'm upgrading my Qt RPN calculator app for sailfish 
> > (https://github.com/lainwir3d/sailfish-rpn-calculator) to use sympy as 
> an 
> > engine. 
> > 
> > Everything was well and happy when I was using the sailfish emulator to 
> test 
> > the app, but then I decided to finally try it on my Jolla smartphone : 
> the 
> > import time of sympy increase to a bit above ten seconds. 
> > 
> > While I can manage to deal with ~5seconds, ~10seconds is a bit too much. 
> I 
> > was using sympy 0.7.6, I moved yesterday to the master branch hoping it 
> > would be better but it's not. 
>
> Even 5s is unnaceptable, at least for me. 
>
> > 
> > Do any of you have any tips to decrease the import time ? I'm only using 
> for 
> > the moment : 
> > 
> > - sympy.S / N 
> > - sympy.cos / acos / sin / asin / tan / atan 
> > - sympy.sqrt / root / log / factorials 
> > 
> > I'm defining some custom constants (inheriting NumberSymbol) and some 
> > functions (inheriting Function) but I can import them later when needed. 
> > What I need to be quickly loaded at startup is mainly sympy.S, the 
> others I 
> > can load in the background. 
> > 
> > I tried to play a bit with __init__.py, here is the import time of each 
> > module on the master : 
> > 
> > core=2373 
> > logic=0 
> > assumptions=78 
> > polys=5542 
> > series=0 
> > functions=1 
> > ntheory=2 
> > concrete=1307 
> > simplify=1 
> > sets=0 
> > solvers=0 
> > matrices=0 
> > geometry=349 
> > utilities=0 
> > integrals=0 
> > tensor=0 
> > parsing=2 
> > calculus=21 
> > plotting=177 
> > printing=0 
> > printing2=1 
> > printing3=0 
> > interactive=34 
> > evalf=1 
> > deprecated=8 
> > 
> > Polys module is the one taking most of the time. Here is the import time 
> of 
> > its submodules : 
> > 
> > polytools=2009 
> > polyfuncs=1736 
> > rationaltools=0 
> > polyerrors=1 
> > numberfields=1190 
> > monomials=0 
> > orderings=0 
> > rootoftools=0 
> > polyroots=0 
> > domains=0 
> > constructor=0 
> > specialpolys=1 
> > orthopolys=0 
> > partfrac=467 
> > polyoptions=1 
> > rings=0 
> > fields=33 
> > 
> > The import time is the same either with "import sympy" or "from sympy 
> import 
> > S" 
> > 
> > So, if anyone had any idea / pointers I could look at I would really 
> > appreciate it :-) Apart from that, sympy is quite awesome ! 
>
> I am really sorry it is taking so long to import, we need to fix that. 
> I hope it is possible to fix this in Python. 
>
> Thanks for posting the timings. To get to the bottom of the issue ---- 
> is the import time slow because we are doing some (slow) calculations 
> at import time, or is the import time slow because Python needs to 
> read and parse ~200,000 lines of code? 
>
> Once we understand where the time is actually spent, then we need to 
> figure out a solution. 
>
> Ondrej 
>

-- 
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 post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sympy.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sympy/46c4b1dd-5071-400d-9d1c-155633823213%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to