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

Improve perf #24

Closed
Noviny opened this issue Mar 11, 2020 · 4 comments · Fixed by #33
Closed

Improve perf #24

Noviny opened this issue Mar 11, 2020 · 4 comments · Fixed by #33
Assignees

Comments

@Noviny
Copy link
Contributor

Noviny commented Mar 11, 2020

Currently loading the markdown is painfully slow after being fetched. This kind of kills any joy in using the site. We should fix this. Open to ideas.

@emmatown
Copy link
Member

I might pick this up - doing perf things is fun and in this case it's Actually Good and not premature/over optimisation

@emmatown emmatown self-assigned this Mar 11, 2020
@Noviny
Copy link
Contributor Author

Noviny commented Mar 18, 2020

The perf issue is effectively 'if you have a really big markdown file, parsing takes a while'
I doubt there's going to be a clean answer to that still just using react-markdown.

Vague idea: batching this markdown fetching, so critical markdown chunks are parsed first (may clash with how Joss has done the side nav as it relies on there being one document)

Something else?

@emmatown
Copy link
Member

emmatown commented Mar 18, 2020

I think the first thing would be parsing the markdown only once if people use the range selector so that the range selector actually feels usable with large files

@Noviny
Copy link
Contributor Author

Noviny commented Mar 18, 2020

We were thinking of making the range selector on enter not constantly filtering.

The biggest bottleneck IMO is that the loading spinner goes away, but nothing renders for maybe a second on large changelogs. If we could keep the spinner till markdown parse finished that would be good, or slight list virtualisation where we stagger adding markdown to the dom so top bits get added first, or detect that md parsing is still occurring and so keep the spinner and hide the react-markdown component.

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

Successfully merging a pull request may close this issue.

2 participants