Opened 6 years ago
Last modified 3 years ago
#16351 new enhancement
Move SearchForest code to sage/sets/recursively_enumerated_set.pyx
Reported by:  slabbe  Owned by:  

Priority:  major  Milestone:  sage7.0 
Component:  combinatorics  Keywords:  
Cc:  Merged in:  
Authors:  Reviewers:  
Report Upstream:  N/A  Work issues:  
Branch:  u/hivert/move_searchforest_code_to_sage_sets_recursively_enumerated_set_pyx (Commits)  Commit:  1bf8c97ef9e6479ede07b339b11d413819508307 
Dependencies:  #13580  Stopgaps: 
Description
Move the code of SearchForest
from sage/combinat/backtrack.py
to sage/sets/recursively_enumerated_set.pyx
into a class named RecursivelyEnumeratedSet_forest
.
This is a follow up of #6637.
Change History (10)
comment:1 Changed 5 years ago by
 Milestone changed from sage6.3 to sage6.4
comment:2 Changed 4 years ago by
 Branch set to u/hivert/move_searchforest_code_to_sage_sets_recursively_enumerated_set_pyx
comment:3 Changed 4 years ago by
 Commit set to 2effaf76cddfe91175187d8ba47d8bf090e0dec0
comment:4 Changed 4 years ago by
 Dependencies set to #13580
 Milestone changed from sage6.4 to sage7.0
I would like to squeeze out some more speed of the SearchForest
code, so I'm interested in this. I made #13580 a dependency since that is likely a lot closer than this is to getting into Sage. If you disagree, then we can reverse the order of the dependencies and I'd do the review once this is ready.
comment:5 followup: ↓ 7 Changed 4 years ago by
The actual branch contains many commits from the #13580, so I can't see what is the goal of the branch put here and how it is related to this ticket.
comment:6 Changed 4 years ago by
 Commit changed from 2effaf76cddfe91175187d8ba47d8bf090e0dec0 to 1bf8c97ef9e6479ede07b339b11d413819508307
Branch pushed to git repo; I updated commit sha1. Last 10 new commits:
f984165  Fixed the doc

a5f4d67  Improved doc for mapreduce

569de0d  Merge branch 'develop' into t/13580/map_reduce

b07dfe2  Doc of the two implementationsof ActiveTaskCounter

beebcbc  #13580: Added comment on timing in the doc

58eca2e  #13580: Removed comment which is now in the doc

1badd8a  #13580: Renamed ActiveTaskCounter(Posix)

46cbab9  13580: Fixed doctests to pass on Darwin

134c1fa  13580: doc rereading

1bf8c97  Merge branch 'u/hivert/move_searchforest_code_to_sage_sets_recursively_enumerated_set_pyx' of git://trac.sagemath.org/sage into t/13580/map_reduce

comment:7 in reply to: ↑ 5 Changed 4 years ago by
Replying to slabbe:
The actual branch contains many commits from the #13580, so I can't see what is the goal of the branch put here and how it is related to this ticket.
I just rebased this ticket on top of #13580 the code contains only an explanation of what SearchForest
does with a nice picture from Nathann, Nicolas and nyself. It should be integrated during the move and the documentation cleanup.
comment:8 Changed 4 years ago by
Something else that we should do whileweareatit, we should consider using collections.deque
since it supports fast popping from both ends (list
can become really slow when popping at the front, but deque
is still twice as slow popping at the front).
comment:9 followup: ↓ 10 Changed 3 years ago by
Now that #13580 is in, the current branch contains just a small selfcontained documentation improvement. It seems worth and easy to integrate soon, but somehow unrelated to this ticket, right?
Shall we create a separate ticket for that documentation chunk?
And refocus this one on moving the SearchForest? code to sage/sets/recursively_enumerated_set.pyx (more than by just a single alias)?
comment:10 in reply to: ↑ 9 Changed 3 years ago by
Replying to nthiery:
Now that #13580 is in, the current branch contains just a small selfcontained documentation improvement. It seems worth and easy to integrate soon, but somehow unrelated to this ticket, right?
Shall we create a separate ticket for that documentation chunk?
Please yes.
And refocus this one on moving the SearchForest? code to sage/sets/recursively_enumerated_set.pyx (more than by just a single alias)?
Yes.
I just added some old doc from Nathann and myself which is worth being integrated when cleaning this up.
Last 10 new commits:
Work in progress on the DOC
Added architecture picture for map_reduce
More Doc
Tested timeout option
Done the doc of Map/Reduce
Moved map/reduce to sage/parallel
Merge 6.10.rc1 + fixed conflict
Fixed links according to deprecation/rebase
Removed TODO in doc
Revert "Removed TODO in doc"