-
Notifications
You must be signed in to change notification settings - Fork 13
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
Speedup table building #276
Conversation
/** | ||
* Update cells/downward growing cells, and resync slots with all (updated) cells | ||
*/ | ||
public updateCells({ |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
updateCells
, addCells
and _updateSlots
are duplicated in row, row group and table.
Given that they are fairly complex (and I did fix a bunch of bugs in it), I'd really like to refactor this, but I'm not sure about the best way to do… parent abstract class? other?
Also optimizing the table model errors checks. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great and definitely seems to help on the performance 👌
* master: (21 commits) Rework the way DOM parent pointers are handled (#283) Create a GitHub release as part of release workflow Backtrack on shortcut links v0.3.0 Prepare release Update changelog Update changelog `RoleOptions#allowPresentational` must be optional Update SIA R67 (#272) Update lockfile Correctly resolve important and overridden CSS properties (#282) Introduce HyperScript-like DSL for constructing DOM (#281) Use dynamic import rather than `require()` for loading formatters (#278) Add `Future#get()` and accept thunked promises in `Future.from()` (#279) Fix default argument type parameter of several types Speedup table building (#276) Add initial support for `background` shorthand property (#277) Output stack in CLI errors if available Chesterton's fence strikes again! Correctly pull `.message` from expectations ...
This should significantly speed up table building by registering which row/column contains data cell and thus avoid going through all cells when computing scope.
More speedup can be achieved on the internal headers scanning. Looking into it.
Also improving code for
update
function with cleaner default parameters initialisation.