-
Notifications
You must be signed in to change notification settings - Fork 79
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Define inlined, more-dumb versions of Mod_bounds ops (#3605)
* Define inlined, more-dumb versions of Mod_bounds ops The mod-bounds ops that used polymorphic functions and first-class modules were not only a little bit over-abstracted for some peoples' taste, they actually had noticeably worse performance, due to suboptimal inlining behavior (and allocation!) of the `Accent_lattice` FCM. This changes them to be dumber and more repetitive, but more direct, which also gets us a few percent performance win. * Delete Axis_collection entirely Let's inhabit one side of this architectural fence entirely, rather than straddling it. * define equal functions for lattices This sadly doesn't show up on a benchmark, but the profiler shows us spending a fair bit less time here and the generated assembly looks way nicer. Plus it'll probably vectorize much more nicely, once we have a vectorizer.
- Loading branch information
1 parent
5d0cc9e
commit 5f8a33b
Showing
9 changed files
with
440 additions
and
538 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.