We've had and seen a lot of change since #17 -- we should reconsider those assumptions and decide whether or not it might be worthwhile to hand-roll assembly code, at least on an architecture-by-architecture basis.
I am picturing this working somewhat similar to how OpenJDK does with https://openjdk.org/projects/zero/ -- we keep the C-based implementation and use it for architectures we don't want to (or haven't) implemented minimal assembly for yet, so that this effort can be incremental instead of herculean.
It might also be that we look at it a little bit and decide that Tianon's just crazy and we absolutely should not do this. That's a totally fair outcome!
We've had and seen a lot of change since #17 -- we should reconsider those assumptions and decide whether or not it might be worthwhile to hand-roll assembly code, at least on an architecture-by-architecture basis.
I am picturing this working somewhat similar to how OpenJDK does with https://openjdk.org/projects/zero/ -- we keep the C-based implementation and use it for architectures we don't want to (or haven't) implemented minimal assembly for yet, so that this effort can be incremental instead of herculean.
It might also be that we look at it a little bit and decide that Tianon's just crazy and we absolutely should not do this. That's a totally fair outcome!