-
-
Notifications
You must be signed in to change notification settings - Fork 656
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:
- Add new
delayafterread
class attribute, for removing Superfluous sleep pexpect/pexpect#291 - Allow overriding the call to PtyProcess.spawn() pexpect/pexpect#303
- Read more bytes pexpect/pexpect#304
- Allow delaybeforesend=None to skip the sleep completely pexpect/pexpect#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
Depends on #19671
Upstream: Reported upstream. Developers acknowledge bug.
CC: @sagetrac-drkirkby @nexttime @sagetrac-Vincent-Neri
Component: interfaces
Keywords: pexpect upgrade
Author: François Bissey, Bill Page, Jeroen Demeyer
Branch/Commit: 9351ccb
Reviewer: Jeroen Demeyer, Bill Page
Issue created by migration from https://trac.sagemath.org/ticket/10295