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: sage-7.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 vbraun_spam

  • Milestone changed from sage-6.3 to sage-6.4

comment:2 Changed 4 years ago by hivert

  • Branch set to u/hivert/move_searchforest_code_to_sage_sets_recursively_enumerated_set_pyx

comment:3 Changed 4 years ago by hivert

  • Commit set to 2effaf76cddfe91175187d8ba47d8bf090e0dec0

I just added some old doc from Nathann and myself which is worth being integrated when cleaning this up.


Last 10 new commits:

7a33037Work in progress on the DOC
168ceaeAdded architecture picture for map_reduce
366fc17More Doc
6c12752Tested timeout option
493bb52Done the doc of Map/Reduce
2534f12Moved map/reduce to sage/parallel
e5b7477Merge 6.10.rc1 + fixed conflict
82fd1e4Fixed links according to deprecation/rebase
68b6530Removed TODO in doc
2effaf7Revert "Removed TODO in doc"

comment:4 Changed 4 years ago by tscrim

  • Dependencies set to #13580
  • Milestone changed from sage-6.4 to sage-7.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 follow-up: Changed 4 years ago by 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.

Last edited 4 years ago by slabbe (previous) (diff)

comment:6 Changed 4 years ago by git

  • Commit changed from 2effaf76cddfe91175187d8ba47d8bf090e0dec0 to 1bf8c97ef9e6479ede07b339b11d413819508307

Branch pushed to git repo; I updated commit sha1. Last 10 new commits:

f984165Fixed the doc
a5f4d67Improved doc for map-reduce
569de0dMerge branch 'develop' into t/13580/map_reduce
b07dfe2Doc 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)
46cbab913580: Fixed doctests to pass on Darwin
134c1fa13580: doc rereading
1bf8c97Merge 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 hivert

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 tscrim

Something else that we should do while-we-are-at-it, 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 follow-up: Changed 3 years ago by nthiery

Now that #13580 is in, the current branch contains just a small self-contained 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 slabbe

Replying to nthiery:

Now that #13580 is in, the current branch contains just a small self-contained 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.

Note: See TracTickets for help on using tickets.