-
Notifications
You must be signed in to change notification settings - Fork 364
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
Parallelize reads #1607
Parallelize reads #1607
Conversation
pomadchin
commented
Aug 2, 2016
•
edited
Loading
edited
- s3
- cassandra
- file
@lossyrob Grisha has opted here not to explicitly use He was seeing similar issues to what we had before, where Tasks weren't appearing to complete and using |
Without dedicated pool it will end up using
I think that works out alright for spark tasks |
|
||
tileSeq.flatten | ||
nondeterminism.njoin(maxOpen = 8, maxQueued = 8) { range map read }.runFoldMap(identity).unsafePerformSync |
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.
Notice 8
is magic number here but 32
is for Cassandra and File. Did it benchmark to be best that way?
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.
It would be best if we could configure this somehow, and not have magic numbers impossibly un-magicked
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.
How do you feel about using typesafe config for this? This is probably a system wide property rather than per-action property.
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.
just experimented how tests would run faster on a local machine; though they are still magical. probably it makes sense to make them configurable, as speed of them depends on certain machine(s) configuration.
@echeipesh in terms of scalaz, it would use def njoin[A](maxOpen: Int, maxQueued: Int)(source: Process[Task, Process[Task, A]])(implicit S: Strategy): Process[Task, A] |
This continues to be an informative PR. |