Concurrent topological sorting
This release provides a refactored topological_sort
function that
- Converts the internal subroutine
depth_first_search
to a function, which means 👀
a. all procedures in dag are now functions except Vegetable'srun
subroutine in the test suite 💯
b. every function ispure
except those that call jsonff (which was already true before this release). ❄️ - Use the resulting clarity in information flow to eliminate several unnecessary local variables, ℹ️
- Changes several remaining local declarations to associations, which 🎏
a. avoids unnecessary temporary copies and ©️
b. prevents some potential uses of uninitialized variables (none were present). 😨 - Converts
do
loops todo concurrent
, opening opportunities for future optimization 🚀 via
a. vectorization, 🏹
b. multithreading, or 🧵
c. GPU acceleration. 🎮