Skip to content

feat: JIT Robot Compilation#115

Open
zkingston wants to merge 16 commits into
mainfrom
jit
Open

feat: JIT Robot Compilation#115
zkingston wants to merge 16 commits into
mainfrom
jit

Conversation

@zkingston

Copy link
Copy Markdown
Collaborator

Relatively huge change based around the new JIT capabilities of Cricket. Big changes are:

  • Splitting of the CMake for readability
  • A lot of code shuffling to avoid duplication in the static and dynamic paths.
  • The JIT FFI and stubs for dynamically loaded robots. There is also a cache utility that hashes on the source + flags for fast loading after initial compilation.
  • Addition of the optional [jit] Python library that exposes a DynamicRobot class that has the same API to the statically compiled robots. This also resulted in an overhaul of the Python bindings to make it so that it was easy to maintain both the static/dynamic paths.

Overall, JIT robots are as fast (if not faster in some cases) than the statically compiled versions.

Note: I did use Claude to help the drudge work here, please flag any LLM-isms that I missed.

@claytonwramsey

Copy link
Copy Markdown
Member

I have no hope of reviewing this whole thing!

But it seems like now is probably a good time to start putting together some automated tests so that we can catch regressions on big changes. Do you have a preferred c++ / python testing framework?

@zkingston

Copy link
Copy Markdown
Collaborator Author

No preferred framework if you have one you like, agree that adding tests would be very helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants