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

Cache JSX rendered output #447

Open
3 tasks
dinhlongviolin1 opened this issue Mar 4, 2022 · 0 comments
Open
3 tasks

Cache JSX rendered output #447

dinhlongviolin1 opened this issue Mar 4, 2022 · 0 comments
Labels
🖰 GUI Related to GUI 📈 Improvement Improvement of a feature. 🟩 Priority: Low Low priority and doesn't need to be rushed

Comments

@dinhlongviolin1
Copy link
Member

dinhlongviolin1 commented Mar 4, 2022

Description
Due to the introduction of _DataScopes, the render output in Page (PageRenderer) cannot be cached. Each time a new user comes in, the render methods is responsible for initializing all of the data in the user scopes. This is hugely unoptimized, but since the current approach has no visible impact on the performace, we might want to deal with this later down the line.

One possible solution to this problem is to cache the variable list and the expression list when the page is initiallly rendered and re-evaluated + apply to a new scope when a new user comes in.

Acceptance Criteria

  • Ensure new code is unit tested, and check code coverage is at least 90%
  • Propagate any change on the demos and run all of them to ensure there is no breaking change
  • Ensure any change is well documented
@dinhlongviolin1 dinhlongviolin1 added 📈 Improvement Improvement of a feature. 🖰 GUI Related to GUI labels Mar 4, 2022
@FabienLelaquais FabienLelaquais added the 🟩 Priority: Low Low priority and doesn't need to be rushed label Feb 25, 2023
@jrobinAV jrobinAV transferred this issue from Avaiga/taipy-gui Nov 13, 2023
joaoandre-avaiga added a commit that referenced this issue Nov 23, 2023
dinhlongviolin1 added a commit that referenced this issue Dec 4, 2023
* Few items refactored
* Add get_js_module_name
* Supporting several libraries with the same "backend" name
* renaming user_element.py to library.py
* Make xml element accessible to be able to define a child node as text
* Some small refactoring items.
* Comments integrated.
* Fix tests
* Fix the fix...
* add ssl_context
* do not publish Builder yet
* give a simple way to render xHtml
* Extension factory refactor.
* Doc
* #424 remove register function and make react components unique
* define a default implementation for library.get_resource
* PathLib.is_relative_to is new to Python 3.9
* Rename taipy-vendor* to taipy-gui-dependencies
* JS-less extensions are first class citizens
* Added ElementLibrary.get_resource_url()
* #425 multiple libraries with same name
*  taipy-gui JS module home page added.
* Added mkdocs script in package.json.
* Added typedoc configuration file.
* JS doc updated.
* /tools directory removed.
* remove types from doc

Co-authored-by: Fabien Lelaquais <fabien@lelaquais.fr>
Co-authored-by: Fred Lefévère-Laoide <90181748+FredLL-Avaiga@users.noreply.github.com>
Co-authored-by: dinhlongnguyen <dinhlongviolin1@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🖰 GUI Related to GUI 📈 Improvement Improvement of a feature. 🟩 Priority: Low Low priority and doesn't need to be rushed
Projects
None yet
Development

No branches or pull requests

2 participants