Details
-
Improvement
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
0.6.1
-
None
Description
Printing really long strings is very slow:
s = 's'*100000
This is particularly the case for the python interpreter:
https://puu.sh/qLHA7/0a5f2ac5b3.png
The pyspark interpreter is much better:
https://puu.sh/qLI9x/1ae5cc4e18.png
But this is still very slow compared to running the command in an actual python shell, which takes just a few milliseconds.
This is a very relevant issue for matplotlib integration (ZEPPELIN-1344), which requires us to express raster images as a byte array if we wish to support inline plotting in a notebook. You can easily verify this by using z.show() with the python interpreter. For example, you may try:
%python import matplotlib.pyplot as plt import numpy as np plt.contourf(np.random.random((100, 100))) z.show(plt)
And notice that this will take a few minutes to run. This is because more complicated plots will require a greater number of characters to represent the image in byte string form.
Attachments
Issue Links
- Is contained by
-
ZEPPELIN-1325 Better Python interpreter impl
- In Progress
- is depended upon by
-
ZEPPELIN-1344 Improving matplotlib integration with zeppelin
- Open
- is duplicated by
-
ZEPPELIN-2071 Very slow parsing of large %html output
- Open
-
ZEPPELIN-1894 Matplotlib is very slow in python interpreter
- Resolved
- is part of
-
ZEPPELIN-1114 Python: improve paragraph ERROR status detection
- Resolved