Re: [sage-devel] Re: Regression: sage 8.0 startup time

2017-08-26 Thread William Stein
  
  

  
  
  
Hi Volker,
  

  
This is of course also how Sage worksheets work in CoCalc (since 2014...), 
unlike say Jupyter.However, there is still the problem of the time spent to 
start the first process for a new project/account/user.These are precisely 
the sort of details that make all the difference in the world regarding user 
experience, efficiency, security, etc. I will never stop worrying about 
Sage startup time...
  

  
  — William
  

  
>   
> On Aug 26, 2017 at 4:49 PM,  mailto:vbraun.n...@gmail.com)>  
> wrote:
>   
>   
>   
> Not sure if I unterstand the question. You wait and then you fork() new 
> processes as needed. There is no ready-made thing in Sage for that purpose 
> afaik (is that the question?)  
>
>   
>  On Saturday, August 26, 2017 at 9:47:02 PM UTC+2, Samuel Lelievre wrote:  
> >   
> >   
> > Volker wrote:
> >   
> >
> >   
> >   
> > >  For server use you should be forking processes from a zygote process, 
> > > this is how chrome works.
> >   
> >   
> >
> >  Thanks Volker for pointing that out. Can you remind us how one does that?  
> >
>
>
>
>  --
>  You received this message because you are subscribed to the Google Groups 
> "sage-devel" group.
>  To unsubscribe from this group and stop receiving emails from it, send an 
> email to  sage-devel+unsubscr...@googlegroups.com 
> (mailto:sage-devel+unsubscr...@googlegroups.com).
>  To post to this group, send email to  sage-devel@googlegroups.com 
> (mailto:sage-devel@googlegroups.com).
>  Visit this group at  https://groups.google.com/group/sage-devel.
>  For more options, visit  https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Regression: sage 8.0 startup time

2017-08-26 Thread William Stein
  
  

  
  
  
Hi Volker,
  

  
This is of course also how Sage worksheets work in CoCalc (since 2014...), 
unlike say Jupyter.However, there is still the problem of the time spent to 
start the first process for a new project/account/user.These are precisely 
the sort of details that make all the difference in the world regarding user 
experience, efficiency, security, etc. I will never stop worrying about 
Sage startup time...
  

  
  — William
  

  
>   
> On Aug 26, 2017 at 4:49 PM,  mailto:vbraun.n...@gmail.com)>  
> wrote:
>   
>   
>   
> Not sure if I unterstand the question. You wait and then you fork() new 
> processes as needed. There is no ready-made thing in Sage for that purpose 
> afaik (is that the question?)  
>
>   
>  On Saturday, August 26, 2017 at 9:47:02 PM UTC+2, Samuel Lelievre wrote:  
> >   
> >   
> > Volker wrote:
> >   
> >
> >   
> >   
> > >  For server use you should be forking processes from a zygote process, 
> > > this is how chrome works.
> >   
> >   
> >
> >  Thanks Volker for pointing that out. Can you remind us how one does that?  
> >
>
>
>
>  --
>  You received this message because you are subscribed to the Google Groups 
> "sage-devel" group.
>  To unsubscribe from this group and stop receiving emails from it, send an 
> email to  sage-devel+unsubscr...@googlegroups.com 
> (mailto:sage-devel+unsubscr...@googlegroups.com).
>  To post to this group, send email to  sage-devel@googlegroups.com 
> (mailto:sage-devel@googlegroups.com).
>  Visit this group at  https://groups.google.com/group/sage-devel.
>  For more options, visit  https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Regression: sage 8.0 startup time

2017-08-26 Thread Volker Braun
Not sure if I unterstand the question. You wait and then you fork() new 
processes as needed. There is no ready-made thing in Sage for that purpose 
afaik (is that the question?)


On Saturday, August 26, 2017 at 9:47:02 PM UTC+2, Samuel Lelievre wrote:
>
> Volker wrote:
>
> > For server use you should be forking processes from a zygote process, 
> this is how chrome works.
>
> Thanks Volker for pointing that out. Can you remind us how one does that?
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Calculation Error

2017-08-26 Thread 'Julien Puydt' via sage-devel
Hi,

Le 26/08/2017 à 22:57, Dr. David Kirkby (Kirkby Microwave Ltd) a écrit :
> I'm not a mathematician, but believe 0^0 is undefined.

You can either consider 0^0 to be undefined or that it is 1 by
convention : both are "correct", and neither should be considered a bug.

Snark on #debian-science

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Calculation Error

2017-08-26 Thread Dr. David Kirkby (Kirkby Microwave Ltd)
On 26 August 2017 at 01:40, David Roe  wrote:

> This is not a bug.  If you look at the documentation for Integer.__pow__,
> you'll see "For consistency with Python and MPFR, 0^0 is defined to be 1 in
> Sage."
> David
>

I'm not a mathematician, but believe 0^0 is undefined. Sagemath being
consistent with something that is wrong seems to be a bug to me. Just
because X does it wrong, I don't see why there's a good reason to follow X.

Submitting that as a bug to Python and MPFR developers seems sensible.
Following them does not.

FWIW, in Mathematica.

drkirkby@hawk:~/PDFs$ math
Mathematica 7.0 for Sun Solaris x86 (64-bit)
Copyright 1988-2009 Wolfram Research, Inc.

In[1]:= 0^0

0
Power::indet: Indeterminate expression 0  encountered.

Out[1]= Indeterminate

In[2]:=

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


Re: [sage-devel] Re: Sage depends on (system) libvpx?!

2017-08-26 Thread Nicolas M. Thiery

Just to leave a trace in case someone would hit the same issue: I just
upgraded from Ubuntu 16.4 to 17.4, and my sage (built from source)
would not start afterward:

from sage.matrix.matrix_space import MatrixSpace
  File 
"/opt/sage-git2/local/lib/python2.7/site-packages/sage/matrix/matrix_space.py", 
line 48, in 
from . import matrix_modn_sparse
  File "sage/matrix/matrix_integer_dense.pxd", line 10, in init 
sage.matrix.matrix_modn_sparse
cdef class Matrix_integer_dense(Matrix_dense):
  File "sage/matrix/matrix_mod2_dense.pxd", line 4, in init 
sage.matrix.matrix_integer_dense
cdef class Matrix_mod2_dense(Matrix_dense):
  ImportError: libvpx.so.3: cannot open shared object file: No such file or 
directory

Rebuilding Sage's libgd package fixed that:

  sage -i -f libgd

Cheers,
Nicolas
--
Nicolas M. Thiéry "Isil" 
http://Nicolas.Thiery.name/

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Regression: sage 8.0 startup time

2017-08-26 Thread Samuel Lelievre
Volker wrote:

> For server use you should be forking processes from a zygote process, 
this is how chrome works.

Thanks Volker for pointing that out. Can you remind us how one does that?

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: Regression: sage 8.0 startup time

2017-08-26 Thread Volker Braun
I agree that startup on a warm cache is mostly a kernel / filesystem ram 
cache benchmark. The actual drive hardware is irrelevant, but background 
processes hitting the disk cache at the same time do matter. On a warm 
cache and without background IO the sage -startuptime (i.e. importing 
sage.all) is pretty consistently about 800ms for me. Which I don't think 
can be much improved without changing the way how Python imports stuff; 
Surely we can still shave off a few tens of ms but thats it.

For server use you should be forking processes from a zygote process, this 
is how chrome works.

The only way to fix the import speed on a cold cache with high-latency 
drive hardware is to load a single big file (aka database) instead of 
thousands of small files. And cache the results of stat calls at build 
time, and then use those via a custom importer. But thats a lot of work for 
a pretty narrow use case. Its also fragile as the database can easily go 
out of sync with the actual filesystem, e.g. when you pip install stuff.

>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.


[sage-devel] Re: hash issue in python3 experimental branch

2017-08-26 Thread Frédéric Chapoton
Shorter traceback, with the same issue. This has probably something to do 
with the behaviour of weak-cahe (which is different with python3)


Traceback (most recent call last):
  File 
"/home/chapoton/sage3/local/lib/python3.6/site-packages/sage/rings/polynomial/polynomial_ring_constructor.py"
, line 604, in _get_from_cache
return _cache[key]
  File "sage/misc/weak_dict.pyx", line 699, in sage.misc.weak_dict.
WeakValueDictionary.__getitem__ (/home/chapoton/sage3/src/build/cythonized/
sage/misc/weak_dict.c:3507)
TypeError: unhashable type: 'ComplexIntervalField_class_with_category'



Le samedi 26 août 2017 08:53:01 UTC+2, Frédéric Chapoton a écrit :
>
> Hello,
>
> during my experiments with python3, I am now stopped on a crash involving 
> hash of Complex interval fields.
>
> The full log is attached. It ends with
>
> TypeError: key = (Complex Interval Field with 53 bits of precision, ('x'
> ,), False, None)
>
> unhashable type: 'ComplexIntervalField_class_with_category'
>
> This is strange, because CIF and type(CIF) are both hashable in the usual 
> sage with python2.
>
> has anybody any idea of what is happening ?
>
> Frederic
>
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.