~/talk

Rewriting of a small component from C to Rust

Talkat RustLab 2021 · 2021-03-18..09-23· [rust]
slides:none on file

Rewrites a ~2000-line C component into Rust, replacing a single-threaded control loop that runs at about 12 ms with a Rust version compiled via Cargo and using crates for testing and FFI; the port is rewritten in one afternoon and uncovers a hidden allocation failure that had taken three days to find in C. Results: easier mocking and unit tests, compile-time checks preventing uninitialized fields and unchecked results, fewer deadline misses (requirements are a few parts per million), and lower CPU usage according to the uploader.

AI-written summary · about

  1. 0:00Start
  2. 6:51Application Logic
  3. 12:15Standard Library
  4. 12:55Posix Library
  5. 13:20Memory Location
  6. 13:34Static Memory Allocation
  7. 13:45Automatic Memory Allocation
  8. 19:10Testing
  9. 21:56Why Rust
  10. 22:12Printf Driven Debugging
  11. 24:32Implementation
  12. 25:27Rust Standard Library
  13. 26:24Memory Handling
  14. 29:02Dependency Management
  15. 30:25Unit Test
  16. 31:28Mocking
  17. 34:21Should I Use Rust
  18. 39:06Switching Target Architecture
  19. 39:38What I Learned from this Experience
  20. 44:52Which Tools Do You Use To Build the Shared Library and the Header File from Ruscode
  21. 53:41Do You Suggest Using Rust for Other Uses like Web or Games
  22. 54:49Did You Notice any Slowdown in Compilation Time for the Comp Component after the Rewrite
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.