ipykernel icon indicating copy to clipboard operation
ipykernel copied to clipboard

Cell-level caching

Open JanPalasek opened this issue 3 years ago • 0 comments

Often we want to visualize the content of the notebook for example as an HTML and also recompute it to check its validity. This ensures that the notebook is runnable and also shows the desired output. However, running a notebook is very time-consuming. It would be great if we had some cell-level cache that would speed up repeated executing of the notebook.

@davidbrochart in his project akernel (asynchronous kernel) solved a similar issue. He approached it by parsing inputs and outputs of the cached cell using ast module. He could then skip the execution of the particular time-consuming cell, if the outputs were cached and the inputs hasn't changed from the previous execution. I hope I didn't misinterpret it. @davidbrochart please comment on any of my mistake. An inspiration could also be taken from knitr from R, who has this implementation available.

Could we get something like this for ipykernel? Many popular projects would benefit from this improvement, such as Quarto or JupyterBook.

JanPalasek avatar Sep 16 '22 10:09 JanPalasek