[Suggestion] Small exports for distributed programs#3
Open
SGrondin wants to merge 2 commits intowelch:masterfrom
SGrondin:master
Open
[Suggestion] Small exports for distributed programs#3SGrondin wants to merge 2 commits intowelch:masterfrom SGrondin:master
SGrondin wants to merge 2 commits intowelch:masterfrom
SGrondin:master
Conversation
Owner
|
Thanks! I'll give it a look later today. |
Author
|
To be honest, I think it's a very narrow use case, the settings are hardcoded and there's no tests. I would be surprised if you merged is as is. I opened the PR because if I do work on top of open source software I like to show the author how it's being used in case it gives them ideas :) |
Owner
|
As you say, it's not mergeable code (I'd hit you up for unit tests at least). I'll take this on so I can get you back to running the main line. Thanks! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Hi,
This is a fork used in large distributed programs where I work. It adds a
Distributableclass that inherits fromDigest. The purpose of that class is to minimize the size of the exported state (toArray) so that a node wanting to read a percentile value can fetch lots of small internal states from each node and recompute the percentile quickly.It implements
toList(), which is a more compact version oftoArray(). It uses arrays to save space on the countlessmean: ..., n: .... The centroids can be pushed back into a new Distributable instance using.push(centroid[0], centroid[1]).I have no idea if this would be useful to you or anyone else, but I'm opening this PR in case you find it interesting and/or want to merge it.