-
-
Notifications
You must be signed in to change notification settings - Fork 3
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
streaming/simd-based parsing? #51
Comments
SIMD support will be quite a lot of work, but perhaps as an interim the blanking stuff can be converted to use streaming. |
I've released a new version There is a new
Please let me know if the |
Thanks! I'll take a look. I sort of sketched the same idea I think in a branch I was playing with. There's no reason for you to look at it for that. However I also found out through some light benchmarking that using a direct jump rather than a lookup for the interests stuff shaved some time, so you might want to borrow that: master...gbaz:gb/streaming-maybe#diff-971ecc88a60c0833627e89c27934eeacR28 |
I’m adding various For example I trust these measurements more than profiling because instrumentation can affect performance. This was the approach I took with |
I checked the performance improvement of your branch and it looks worthwhile:
|
I think table lookup is the right approach, but that |
Merged to optimisations:
|
New version released: |
I'd think that the case statement that matches on a primitive would be equally good, since that should just get directly code-generated into a jump table by ghc. I don't imagine that's very different than a good lookup table anyway :-) |
We have found really nice performance on the hw-json stuff once we moved to the streaming/simd stuff that's now available, even on huge files.
But it appears xml cursors can only be created via blanking, which is not streaming. As such, handling 25G or so files seems out of the question without a lot of memory lying around.
Is there some streaming parse stuff I missed, or can it be added?
The text was updated successfully, but these errors were encountered: