-
Notifications
You must be signed in to change notification settings - Fork 24
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
ENH: ignore unsatified operations with partial inputs #18
base: master
Are you sure you want to change the base?
Conversation
8c45c22
to
5563067
Compare
Usefull when 2 (or more) operations provifing the same output, and only one has fully satisfied inputs. Before it would fail trying to evaluate the un-satisfied ones. + New TC added. .
Usefull when 2 (or more) operations provifing the same output, and only one has fully satisfied inputs. Before it would fail trying to evaluate the un-satisfied ones. + New TC added. .
5563067
to
1519baa
Compare
Usefull when 2 (or more) operations provifing the same output, and only one has fully satisfied inputs. Before it would fail trying to evaluate the un-satisfied ones. + New TC added. .
1519baa
to
16be1cd
Compare
Codecov Report
@@ Coverage Diff @@
## master #18 +/- ##
==========================================
+ Coverage 77.87% 79.01% +1.14%
==========================================
Files 5 5
Lines 348 367 +19
==========================================
+ Hits 271 290 +19
Misses 77 77
Continue to review full report at Codecov.
|
were writing in text-mode in PY3. and failing as encoding error.
+ The x2 TCs added just before are now passing.
16be1cd
to
1967995
Compare
receiving partial inputs, needed for other operations.
+ The x2 TCs added just before are now passing.
10c1d7f
to
66e0a8c
Compare
NOTE dict are not deterministic in <PY3.6. So this commit would not improve determinism in those pythons. + build: add `boltons` dependency for ndexedSet. + doc: mark all set usage if affect determinism. + e.g. see reproducibility problem in yahoo#14.
66e0a8c
to
b8377ca
Compare
Merged with #23 bc ordered-set is needed to rewrite unsatisfied traversal with topo-sort (without visited nodes). |
a6d5533
to
e578042
Compare
e578042
to
b102d44
Compare
... backported from yahoo#29.
|
Reason:
The purpose is not to require a "perfect" input model for the dag to run,
but the algorithm to find the minimum viable subgraph that can compute.
Useful also when 2 (or more) operations provide the same output,
and provided inputs fully satisfy only one of operation.
Changes
For instance, the graph below with this PR can go ahead and compute
ab_plus_c=21
when given justa=10
&b1=2
, andab_plus_c=6
when given justa=10
&b2=2
:Before this PR, the above graph would fail on execution time while trying to evaluate needlesly
the un-satisfied operations.
NOTE that it is an invasive change and have repercussions to many decision of this library.
I confirm that this contribution is made under the terms of the license found in the root directory of this repository's source tree and that I have the authority necessary to make this contribution on behalf of its copyright owner.