-
Notifications
You must be signed in to change notification settings - Fork 31
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
feat: add laz-parallel feature #70
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Makes sense to me, but can you document the feature in the README as well? Thanks!
This adds the `laz-parallel` feature (which enables laz-rs if not already enabled). When enabled, las-rs will use laz-rs parallel decompressor when reading many points at once (read_n_into, read_next_points) improving the read speed
87eccd4
to
f836aaa
Compare
@tmontaigu what are the reasons someone would not want to use |
Apart from wanting to avoid compiling unused dependencies I don't see any |
Then I'm inclined to flip the flags — make |
One slight problem with that is that the features And mutually exclusive features should generally be avoided (https://doc.rust-lang.org/cargo/reference/features.html?highlight=additive#mutually-exclusive-features) So we can either:
|
I think because it's a extra feature on I played around with implementing this morning, and I don't love how it looks — I think I'll just keep the status quo (the way things were set up by this PR). Thanks for chatting it through and the contribution @tmontaigu ❤️ . |
This adds the
laz-parallel
feature(which enables laz-rs if not already enabled).
When enabled, las-rs will use laz-rs parallel decompressor when reading many points at once (read_n_into, read_next_points) improving the read speed
For example, using the file linked in #64:
features=laz
using calls to read(), read_n_into, etc I read all the points in 28sfeatures=laz-parallel
and calls to read() I read the all the points in 28sfeatures=laz-parallel
and calls to read_n_into(),read_all_points I read the all the points in 8sThe same kind of work can be done for writing LAZ