#10295: Upgrade and optimize pexpect
-------------------------------------+-------------------------------------
       Reporter:  SimonKing          |        Owner:  was
           Type:  enhancement        |       Status:  positive_review
       Priority:  major              |    Milestone:  sage-6.11
      Component:  interfaces         |   Resolution:
       Keywords:  pexpect upgrade    |    Merged in:
        Authors:  François Bissey,   |    Reviewers:  Jeroen Demeyer
  Bill Page, Jeroen Demeyer          |  Work issues:
Report Upstream:  Reported           |       Commit:
  upstream. Developers acknowledge   |  1e75fbd677507e9bb1e06879fe2f45580ab3b584
  bug.                               |     Stopgaps:
         Branch:                     |
  u/jdemeyer/pexpect3.3              |
   Dependencies:  #19671, #19616     |
-------------------------------------+-------------------------------------
Description changed by jdemeyer:

Old description:

> We use pexpect version 2.0. Shouldn't we upgrade to the current version
> 4.0.1?
>
> See also #10294.
>
> '''New upstream tarballs''':
> * https://pypi.python.org/packages/source/p/pexpect/pexpect-4.0.1.tar.gz
> *
> https://pypi.python.org/packages/source/p/ptyprocess/ptyprocess-0.5.tar.gz
> * ​http://www.math-cs.gordon.edu/~kcrisman/sagenb-0.11.5.1.tar
>
> '''Patches included and submitted upstream''':
> * [https://github.com/pexpect/pexpect/pull/291]
> * [https://github.com/pexpect/pexpect/pull/303]
> * [https://github.com/pexpect/pexpect/pull/304]
> * [https://github.com/pexpect/pexpect/pull/307]
>
> -----
>
> '''Throughput timings''' (best out of 5):
>
> pexpect 2.0 upstream:
> {{{
> sage: %time _ = str(gp("2^2^22"))
> CPU times: user 184 ms, sys: 4 ms, total: 188 ms
> Wall time: 384 ms
> }}}
>
> pexpect 4.0.1 upstream:
> {{{
> sage: %time _ = str(gp("2^2^22"))
> CPU times: user 208 ms, sys: 4 ms, total: 212 ms
> Wall time: 405 ms
> }}}
>
> pexpect 4.0.1 + Sage patches:
> {{{
> sage: %time _ = str(gp("2^2^22"))
> CPU times: user 9 ms, sys: 7 ms, total: 16 ms
> Wall time: 209 ms
> }}}
>
> -----
>
> '''Latency timings''' (best out of 5):
>
> pexpect 2.0 upstream:
> {{{
> sage: gp(1);
> sage: %time _ = [gp(i) for i in range(10^4)]
> CPU times: user 2.96 s, sys: 855 ms, total: 3.82 s
> Wall time: 4.52 s
> }}}
>
> pexpect 4.0.1 upstream:
> {{{
> sage: gp(1);
> sage: %time _ = [gp(i) for i in range(10^4)]
> CPU times: user 2.61 s, sys: 758 ms, total: 3.37 s
> Wall time: 3.48 s
> }}}
>
> pexpect 4.0.1 + Sage patches:
> {{{
> sage: gp(1);
> sage: %time _ = [gp(i) for i in range(10^4)]
> CPU times: user 2.3 s, sys: 999 ms, total: 3.3 s
> Wall time: 3.4 s
> }}}

New description:

 We use pexpect version 2.0. Shouldn't we upgrade to the current version
 4.0.1?

 See also #10294.

 '''New upstream tarballs''':
 * https://pypi.python.org/packages/source/p/pexpect/pexpect-4.0.1.tar.gz
 *
 https://pypi.python.org/packages/source/p/ptyprocess/ptyprocess-0.5.tar.gz
 * http://www.math-cs.gordon.edu/~kcrisman/sagenb-0.11.6.tar

 '''Patches included and submitted upstream''':
 * [https://github.com/pexpect/pexpect/pull/291]
 * [https://github.com/pexpect/pexpect/pull/303]
 * [https://github.com/pexpect/pexpect/pull/304]
 * [https://github.com/pexpect/pexpect/pull/307]

 -----

 '''Throughput timings''' (best out of 5):

 pexpect 2.0 upstream:
 {{{
 sage: %time _ = str(gp("2^2^22"))
 CPU times: user 184 ms, sys: 4 ms, total: 188 ms
 Wall time: 384 ms
 }}}

 pexpect 4.0.1 upstream:
 {{{
 sage: %time _ = str(gp("2^2^22"))
 CPU times: user 208 ms, sys: 4 ms, total: 212 ms
 Wall time: 405 ms
 }}}

 pexpect 4.0.1 + Sage patches:
 {{{
 sage: %time _ = str(gp("2^2^22"))
 CPU times: user 9 ms, sys: 7 ms, total: 16 ms
 Wall time: 209 ms
 }}}

 -----

 '''Latency timings''' (best out of 5):

 pexpect 2.0 upstream:
 {{{
 sage: gp(1);
 sage: %time _ = [gp(i) for i in range(10^4)]
 CPU times: user 2.96 s, sys: 855 ms, total: 3.82 s
 Wall time: 4.52 s
 }}}

 pexpect 4.0.1 upstream:
 {{{
 sage: gp(1);
 sage: %time _ = [gp(i) for i in range(10^4)]
 CPU times: user 2.61 s, sys: 758 ms, total: 3.37 s
 Wall time: 3.48 s
 }}}

 pexpect 4.0.1 + Sage patches:
 {{{
 sage: gp(1);
 sage: %time _ = [gp(i) for i in range(10^4)]
 CPU times: user 2.3 s, sys: 999 ms, total: 3.3 s
 Wall time: 3.4 s
 }}}

--

--
Ticket URL: <http://trac.sagemath.org/ticket/10295#comment:181>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" 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 https://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to