Conversation
Performance Benchmark Report
Code Coverage Report: Only Changed Files listed
Minimum allowed coverage is Test Summary: bash-completion test suite
|
95731cd to
39dbcaa
Compare
|
Thanks for cleaning up the changes. I still need to actually read through the winnow-based parsers, but what do you think about arranging a runtime switch to select the parser we want to use? If you're open to it, I'm happy to help with some of the glue code for this too. I'm thinking we could extract a We could then arrange to run all of our YAML-based integration tests against all parsers without needing to recompile |
Sounds feasible and shouldn't be too hard to achieve given what we currently have. Just we could clean up a little the options.
Yes, I have the two winnow impls because I gradually did the translation and benchmarked and cleaned up till I was confident winnow can be faster and overall nicer than the status quo. If we can ditch the tokenization from the public API we should spare quite a bit of allocations and we can focus on cleaning up even more the winnow_str impl.
Yes, we might want to do a bit of refactor so that we can make the location a no-op for the tests since that part will have discrepancies. |
57f48f3 to
1e54749
Compare
|
@reubeno this weekend we could try to do a first review pass to make sure all the not too beautiful bits are needed for performance, but it seems that we are getting closer to an acceptable version. |
It has two implementations, one still using the tokenizer the other directly parsing a str input.
Most of the code had been machine-ported from the peg implementation and then refined so it is a bit faster than the original, there is still potentially more to refactor but we can start reasoning about it.