You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I was looking at how this is handled and it is not clear to me how you would implement lazy parsing without some major changes to Record.
The first change I see is converting values to private and adding methods to retrieve values to Record. Once this is done, and all the code is refactored to account for this change, I think read_record could be made to parse the header and store a lazy representation of values, that the retrieval methods could be modified to use.
Is this anywhere remotely close to what you had in mind?
This is an attempt to move towards #881. I am not sure this is the
direction you want to take. In any case, I thought I would take a crack
at converting `values` from `Record` to private and see how bad it would
be.
In the end, as you can see, it is not so bad. I think performance-wise
it shouldn't be a bad hit with Rust's zero-cost abstraction. Also,
during the process I noticed a couple improvements that could be made
here and there but I honestly wanted to start with something small
enough that wouldn't be too hard to review.
Anyway, let me know if this is really how you would like to proceed.
Closes#962
We parse records in
read_record()
which means we parse every row in full even if we never use them. Let's make record parsing more lazy to avoid work.The text was updated successfully, but these errors were encountered: