Make struct cast implementation pluggable#7684
Conversation
Merging this PR will degrade performance by 18.01%
|
| Mode | Benchmark | BASE |
HEAD |
Efficiency | |
|---|---|---|---|---|---|
| ❌ | WallTime | mix[0%_in/100%_out] |
228.4 µs | 278.5 µs | -18.01% |
| ⚡ | WallTime | 10M_50%[5000000] |
308.7 µs | 278 µs | +11.05% |
| ❌ | Simulation | bitwise_not_vortex_buffer_mut[128] |
246.1 ns | 275.3 ns | -10.6% |
Comparing rk/movecasttoplugin (b2b9997) with develop (6d2aee8)
Footnotes
-
817 benchmarks were skipped, so the baseline results were used instead. If they were deleted from the codebase, click here and archive them to remove them from the performance reports. ↩
|
Is this related to #6900? |
|
It is related. We need to acknowledge that different systems have different requirements and we need to be able to override the behaviour |
|
as I was refactoring this logic I made #7710 to cleanup validity casting |
803c196 to
78e6308
Compare
77d698b to
9298f56
Compare
ff57330 to
880c8d3
Compare
44dd940 to
74f36ac
Compare
880c8d3 to
da57520
Compare
da57520 to
b2b9997
Compare
This pr moves Struct Cast implementation to be overridable by VortexSession.
The default implementation stays the same, i.e. it resolves the fields by name.
In follow up we will add back the positional cast and add both implementations
to the fuzzer
Signed-off-by: Robert Kruszewski github@robertk.io