-
Notifications
You must be signed in to change notification settings - Fork 23
[pxd] Some easy performance wins and fixups. #124
Description
I very quickly tested most of these back in December, but got sidetracked before doing it properly for a PR and have had them on my list to go back to ever since.
It's time for me to admit that I have no idea when or if I'm going to get around to that, so here's the notes. Maybe posting this issue will jolt me to go back to this, but who knows 🤷.
Don't install MyPy for Cython.
MyPy's not needed for the Cython version.
Previously I removed it from
shell.nixas a last-minute change, but forgot to remove it frompy_env.sh.Disable profiling. (~+10%?)
Disable bounds checking.
Removecpdefandcdef public. (~+15%?)You may need to do a
git clean -Xito generate new C sources.Add notes, but don't implement:
Switch
RAM.datato pointer? (~+10%?)
int addrinRAM.get(~+10%?)
(IIRC I wasn't sure about implementing the last two because they change the code semantics and thus could be considered unfair/not a 1:1 equivalence to the other implementations.)