-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Cythonize some hotspots #55
Commits on Jun 26, 2018
-
Basic cythonization of datastructures, externalization, internalizati…
…on and singleton. No optimizations yet. All tests pass.
Configuration menu - View commit details
-
Copy full SHA for cf871af - Browse repository at this point
Copy the full SHA cf871afView commit details -
Configuration menu - View commit details
-
Copy full SHA for fa77efa - Browse repository at this point
Copy the full SHA fa77efaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 5ced9a2 - Browse repository at this point
Copy the full SHA 5ced9a2View commit details -
Configuration menu - View commit details
-
Copy full SHA for fe925a8 - Browse repository at this point
Copy the full SHA fe925a8View commit details -
Checkpoint on cython declarations. About a 3-5% improvement over the …
…naive version so far. Hopefully we can get better still.
Configuration menu - View commit details
-
Copy full SHA for 06dbfdb - Browse repository at this point
Copy the full SHA 06dbfdbView commit details -
More externalization work: declare attributes for state management
This was a pretty big win, getting us 9-13% faster on the externalization benchmarks compared with the last commit.
Configuration menu - View commit details
-
Copy full SHA for 7750157 - Browse repository at this point
Copy the full SHA 7750157View commit details -
Configuration menu - View commit details
-
Copy full SHA for 4c62daf - Browse repository at this point
Copy the full SHA 4c62dafView commit details -
Our thread-local data is simple enough (and read/written in only one …
…place) so it can be a tuple. This is again slightly faster.
Configuration menu - View commit details
-
Copy full SHA for 0290392 - Browse repository at this point
Copy the full SHA 0290392View commit details
Commits on Jun 27, 2018
-
Fix build when no old .pycs are around. Also some more typing for ano…
…ther 1-2% on extern.
Configuration menu - View commit details
-
Copy full SHA for e1f69e1 - Browse repository at this point
Copy the full SHA e1f69e1View commit details -
Configuration menu - View commit details
-
Copy full SHA for 232b089 - Browse repository at this point
Copy the full SHA 232b089View commit details -
Now that I understand that it's *types* that cause the problem with l…
…eading underscores, rename our private module back to private again.
Configuration menu - View commit details
-
Copy full SHA for f9a9592 - Browse repository at this point
Copy the full SHA f9a9592View commit details -
More typing in datastructures.py
This nets us a 4% improvement or so in externalization, maybe a tiny slowdown in internalization (but I expect that to be fixed when I type that module). We could do better, but the class attribute _ext_excluded_out_ and the like are slowing us down, and we have some code that doesn't keep their usual types (mostly in housing). A metaclass may be able to fix that, because they all seem to be defined at the class level.
Configuration menu - View commit details
-
Copy full SHA for b20aed4 - Browse repository at this point
Copy the full SHA b20aed4View commit details -
Learn how to do enumerated constants as class bodies in cython
Define them as an instance, make an accessor function, type the result of the accessor in the pxd. This avoids needing to get the type in the python file, which is what causes the leading underscore problems. This avoids the need for re-enumerating all the constants while still being direct access (yay!). Speeds things up by another percent or two in datastructures.py.
Configuration menu - View commit details
-
Copy full SHA for bed7e65 - Browse repository at this point
Copy the full SHA bed7e65View commit details
Commits on Jun 28, 2018
-
First part of typing internalization.py. Roughly 3-5% further improve…
…ment on the benchmarks, it appears.
Configuration menu - View commit details
-
Copy full SHA for 1627cb6 - Browse repository at this point
Copy the full SHA 1627cb6View commit details -
Configuration menu - View commit details
-
Copy full SHA for 5a57ae8 - Browse repository at this point
Copy the full SHA 5a57ae8View commit details -
Configuration menu - View commit details
-
Copy full SHA for b979de0 - Browse repository at this point
Copy the full SHA b979de0View commit details -
Configuration menu - View commit details
-
Copy full SHA for 78c71b5 - Browse repository at this point
Copy the full SHA 78c71b5View commit details -
Typing and optimizations for notifyModified, one of the biggest remai…
…ning bottlenecks Two changes of note: - notify_modified alias was removed. I couldn't find any uses of it on github - eventFactory was removed from notifyModified. I couldn't find any uses of it on github. These are both easy to add back if needed.
Configuration menu - View commit details
-
Copy full SHA for 45d5d81 - Browse repository at this point
Copy the full SHA 45d5d81View commit details -
Configuration menu - View commit details
-
Copy full SHA for 50e55c3 - Browse repository at this point
Copy the full SHA 50e55c3View commit details -
Configuration menu - View commit details
-
Copy full SHA for 02d5792 - Browse repository at this point
Copy the full SHA 02d5792View commit details -
Officially deprecate arbitrary kwargs for to_standard_external_dictio…
…nary with a warning.
Configuration menu - View commit details
-
Copy full SHA for a4946ec - Browse repository at this point
Copy the full SHA a4946ecView commit details