-
-
Notifications
You must be signed in to change notification settings - Fork 245
Hang when value-to-print is very large #703
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
Pinging @ata2001. |
I'm on it. |
Okay, For example:
won't hang because it gets converted to an FmtStr as 1000 chunks instead of one string
|
This is definitely a curtsies issue, I'm going to create a PR optimizing |
I took the freedom of overtaking you. |
is that fix above the solution to the problem or just a workaround? |
It's the actual solution. At least it takes the part of the code which is responsible for being slow and makes it so fast that it should no longer be the bottleneck. |
This has been merged and a new release of Curtsies (0.2.12) has @BenWiederhake's patch. This is a big improvement that will help users now (there are at least 4 issues that are dups of this) so big thanks to @BenWiederhake. The behavior is from the bpython side is still empirically quadratic Since this was introduced by |
I've written a linear version of the line splitting behavior that made this still quadratic despite @BenWiederhake fix in curtsies with bpython/curtsies#110 but in the meantime we've stopped using the width-aware solution and released 0.17.1 to fix this behavior. I'm not totally clear on what width-awareness was solving for us – seems like some edge cases around where to wrap lines that have double-width characters or combining characters in them, but there haven't been any open issues about that. Eventually we can use this for formatting input and correctly position the cursor in the case of double-width and combining characters, but no issues open about that. I'm going to hold off on #731 until the case for why we need it is clearer and we're confident it doesn't cause any regressions. |
bpython (or maybe curtsies, no idea) hangs when the result is very large.
Example:
This happens on all of the following configurations:
bpython version 0.17 on top of Python 2.7.13 /usr/bin/python
on machine Abpython version 0.17 on top of Python 3.5.4rc1 /usr/bin/python3
on machine Abpython version 0.17 on top of Python 2.7.13 /usr/bin/python
on machine Bbpython version 0.17 on top of Python 3.5.4rc1 /usr/bin/python3
on machine BWhere:
It appears to be independent of #607, and I guess it's a regression.
Doing the same in plain python2 or python3 works flawlessly and quickly.
The text was updated successfully, but these errors were encountered: