-
-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
yew/vlist: optimize diffing and patching #1555
Conversation
yew-functional CI tests seem to have failed due to chromedriver. |
@bakape perf looks good for
|
Also, I fixed the macro tests on master fyi |
The regression was introduced in e6c965b, which is very odd. I don't see anything there that could have caused it. I'll rebase and merge master anew. |
e0c888f
to
a40faf4
Compare
666e6ce
to
1639635
Compare
1639635
to
368e5ea
Compare
@jstarry Sorry, I've been busy with other matters and projects for a while. I've fixed the swap issue and added a few other optimizations. |
No worries, I've been busy as well. Will review soon |
I'm looking forward to see this merged \o/ |
It's been forgotten, it seems. A lot to review, so understandable finding time might be hard. |
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.
Just some thoughts
) -> NodeRef { | ||
use std::mem::{transmute, MaybeUninit}; | ||
|
||
macro_rules! map_keys { |
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.
I'm not sure about the benefit of using a macro here (especially with an eye towards compile times).
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.
It saves us from copy-pasting and I think the compile costs are negligible. Especially so, with how much the html!
procedural macro does.
Co-authored-by: Teymour Aldridge <[email protected]> Co-authored-by: Cecile Tonglet <[email protected]>
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.
Apart from this comment, this looks good to me.
"VText {{ text: \"{}\", reference: {} }}", | ||
self.text, | ||
match &self.reference { | ||
Some(_) => "Some(...)", |
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.
Nit: maybe also print the VText
's content? Or is that not possible?
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.
This was intentional, as it made the debug log output much more unreadable. Especially so in already verbose log output, like the one I added to the layout tests.
Co-authored-by: Muhammad Hamza <[email protected]>
Description
Debug
output of some typesChecklist:
./ci/run_stable_checks.sh