imperative-rs #1

Closed
j wants to merge 0 commits from imperative-rs into main
Owner

Rewrote the disassembler and cpu::tick() for code concision and massive speed improvements.

Turns out, getting the current time takes AGES, so if we don't need it, we don't get it.

Rewrote the disassembler and `cpu::tick()` for code concision and massive speed improvements. Turns out, getting the current time takes AGES, so if we don't need it, we don't get it.
j added 5 commits 2023-03-31 19:29:39 +00:00
It's like MAGIC. Easily cut out 200 LOC
- Rewrote the instruction decoder as an enum
- Used imperative_rs to auto-generate the bit twiddling logic
- Implemented Display on that enum, for disassembly
- Rewrote CPU::tick
  - Now >10x faster
  - Disassembly mode is still 5x slower though
- Implemented time-based benchmarking
  - (use option -S to set the number of instructions per epoch)
val added 1 commit 2023-03-31 19:32:09 +00:00
j closed this pull request 2023-03-31 19:34:36 +00:00
j deleted branch imperative-rs 2023-03-31 19:35:00 +00:00

Pull request closed

Sign in to join this conversation.
No reviewers
No Milestone
No project
No Assignees
2 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: j/Chirp#1
No description provided.