Conversation
CodSpeed Performance ReportMerging #567 will degrade performances by 5.81%Comparing Summary
Benchmarks breakdown
|
|
still wip, currently working on a rewrite to validete and resolve inheritdoc in a single pass |
9f542dd to
557ce29
Compare
|
@DaniPopes after validating all tags and resolving inheritdoc in a single pass, i managed to reduce the performance overhead on unfortunately, that was useless on i've tried several things like:
but none of that proved to be useful, as solady is always at around 24% worse than without lowering :( i acknowledge that solady has a bunch of comments, and that this must have some runtime overhead, but it kinda feels too much? some things that i noticed, which maybe can help u come up with improvement ideas:
lmk what else should i try to improve perf |
|
Please look at codspeed at what's slower. It's because it emits a bunch of diagnostics |
|
i was under the impression that there could only be a single this was causing a bunch of emitted diagnostics in solady as u pointed out perf regression went down to -5.8% on thanks @DaniPopes |
| pub fn empty() -> &'ast Self { | ||
| // SAFETY: we're shortening the lifetime from 'static to 'ast for an empty, immutable slice, | ||
| // which is safe since the data never changes and lives forever. | ||
| unsafe { std::mem::transmute(Self::default()) } |
There was a problem hiding this comment.
you don't need this if you implement Default for &'a <'b>
Motivation
towards full natspec support; continues the work started in: