Closed divergentdave closed 1 day ago
Thanks for the implementation feedback, @divergentdave! I'll make this change and request your review when the PR is ready. It may not happen before the new year.
@armfazh is going to do the implementation of VIDPF in libprio (https://github.com/divviup/libprio-rs). Armando, we will want to resolve this issue as part of this, as this issue aligns the VIDPF spec with the current IDPF implementation.
Currently, path proof computation iterates over prefixes in the outer loop, and levels in the inner loop. Switching this would improve the data locality of implementations, while still committing to all the same data. In particular, the first few iterations of an outer level loop would often hash the same field vector in consecutive iterations of the inner loop. (because, for example, at level 0, it would process node 0 several times, and then process node 1 several times) The field vector arithmetic could even be conditionally reused across inner loop iterations for a further speedup.