#10295: Upgrade and optimize pexpect
-------------------------------------+-------------------------------------
Reporter: SimonKing | Owner: was
Type: enhancement | Status: needs_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 | 9351ccb53d1d3c1d387c11e0c57443b53d1cfdd1
bug. | Stopgaps:
Branch: |
u/jdemeyer/pexpect3.3 |
Dependencies: #19671 |
-------------------------------------+-------------------------------------
Changes (by jdemeyer):
* dependencies: #19671, #19616 => #19671
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.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
> }}}
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.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]
'''Note''' that this branch ''includes'' #19616.
-----
'''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:185>
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.