Skip to content

Conversation

@ecpeterson
Copy link
Contributor

@ecpeterson ecpeterson commented Nov 3, 2025

TODO:

  • make interface uniform with make-courier-gridded
  • write docstrings
  • make sure 'region size' still works; maybe this means early tree termination? or maybe it's fine with ceil.
  • write a unit test or two

little demo:

AETHER> (multiple-value-bind (courier-grid courier-list) (make-courier-quadtree 4 4)
          (with-simulation (simulation ())
            (dolist (courier courier-list)
              (simulation-add-event simulation (make-event :callback courier)))
            (let (receiver message)
              (let ((*local-courier* (aref courier-grid 0 0)))
                (setf receiver (register)))
              (let ((*local-courier* (aref courier-grid 3 3)))
                (setf message (make-message))
                (send-message receiver message))
              (let ((*local-courier* (aref courier-grid 0 0)))
                (flet ((canary ()
                         (receive-message (receiver msg :catch-rts? nil)
                           (message t))))
                  (simulation-run simulation :canary #'canary)
                  (simulation-horizon simulation))))))
1/25

Copy link
Member

@karalekas karalekas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also I would really like to see that unit test or two

@karalekas karalekas self-requested a review November 16, 2025 07:26
Copy link
Member

@karalekas karalekas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

also, as discussed offline, id be very interested to see a third network variant that includes both NN and quadtree links, and prioritizes NN links when using them would result in a better routing time

while ofc the quadtree routing time is asymptotically better for long-distance routing, we expect in practice to do a lot of NN routing and it seems non-ideal to double the NN routing time in the quadtree network configuration

@karalekas
Copy link
Member

added a minimal unit test; you'll need to pull @ecpeterson

@karalekas karalekas removed their assignment Nov 16, 2025
Copy link
Member

@karalekas karalekas left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

changes LGTM, thanks!!

@karalekas karalekas merged commit 834c0b5 into main Nov 20, 2025
1 check passed
@karalekas karalekas deleted the quadtree-router branch November 20, 2025 04:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants