Skip to content
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

Lazy Cell Display For Unchanged Cells #635

Open
gwincr11 opened this issue Oct 20, 2022 · 3 comments
Open

Lazy Cell Display For Unchanged Cells #635

gwincr11 opened this issue Oct 20, 2022 · 3 comments

Comments

@gwincr11
Copy link
Contributor

Rendering unchanged cells is a very high overhead process for NbDime. Currently all the cells are rendered and then hidden with css.

We are going to open a pull request to introduce a new method of Lazy Loading the unchanged cells only when needed. This will work in an expand up and down one cell at a time process.

We currently have this working in our nbdime spike on GitHub and once we have it well tested hope to upstream it here.

Before expansion
Screen Shot 2022-10-19 at 9 35 00 PM

Expanded up
Screen Shot 2022-10-19 at 9 35 10 PM

@vidartf
Copy link
Collaborator

vidartf commented Oct 21, 2022

This seems very sensible. 👍

@gwincr11
Copy link
Contributor Author

Great, I will work on upstreaming this code. I am also going to take on a few small refactors as well, I will do them in separate PR's

@gwincr11
Copy link
Contributor Author

I have started working on upstreaming what we have built, it may take a bit of adjustment to make it work with the setup in here versus our typescript setup.

I would love to get some of @maraisr's work in so I don't have to fix a bunch of linter and typescript differences if those are being seriously considered.

gwincr11 added a commit to gwincr11/nbdime that referenced this issue Oct 24, 2022
Motivation:
  During diffing Unchanged cells are displayed, which is not necessary.
  This is a performance issue when there are many unchanged cells.

Related Issues:
  - jupyter#635

Open Questions:
  - I am struggling with getting the svg images to build properly.
  - How can this be tested in JupyterLab?

Changes:
  - Alter Notebooks Widget to only display changed cells by using new linked
    list of cells.
  - Add new linked list of cells and lazy version of linked list of cells.
gwincr11 added a commit to gwincr11/nbdime that referenced this issue Oct 24, 2022
Motivation:
  During diffing Unchanged cells are displayed, which is not necessary.
  This is a performance issue when there are many unchanged cells.

Related Issues:
  - jupyter#635

Open Questions:
  - I am struggling with getting the svg images to build properly.
  - How can this be tested in JupyterLab?

Changes:
  - Alter Notebooks Widget to only display changed cells by using new linked
    list of cells.
  - Add new linked list of cells and lazy version of linked list of cells.
gwincr11 added a commit to gwincr11/nbdime that referenced this issue Mar 13, 2023
Motivation:
  During diffing Unchanged cells are displayed, which is not necessary.
  This is a performance issue when there are many unchanged cells.

Related Issues:
  - jupyter#635

Open Questions:
  - I am struggling with getting the svg images to build properly.
  - How can this be tested in JupyterLab?

Changes:
  - Alter Notebooks Widget to only display changed cells by using new linked
    list of cells.
  - Add new linked list of cells and lazy version of linked list of cells.
vidartf pushed a commit to vidartf/nbdime that referenced this issue Nov 10, 2023
Motivation:
  During diffing Unchanged cells are displayed, which is not necessary.
  This is a performance issue when there are many unchanged cells.

Related Issues:
  - jupyter#635

Open Questions:
  - I am struggling with getting the svg images to build properly.
  - How can this be tested in JupyterLab?

Changes:
  - Alter Notebooks Widget to only display changed cells by using new linked
    list of cells.
  - Add new linked list of cells and lazy version of linked list of cells.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants