| ▲ | repelsteeltje 2 days ago | |||||||
Can you elaborate? For instance, how would better tooling help with storing a TCP buffer in global memory? | ||||||||
| ▲ | tatjam 2 days ago | parent | next [-] | |||||||
As a quick example, compare doing embedded work with a C static uint8_t[MAX_BUFFER_SIZE] alongside a FreeRTOS semaphore and counter for the number of bytes written, vs using Rust's heapless::Vec<u8, MAX_BUFFER_SIZE>, behind a embassy Mutex. The first will be a real pain, as you now have 3 global variables, and the second will look pretty much like multi-threaded Rust running on a normal OS, but with some extra logic to handle the buffer growing too big. You can probably squeeze more performance out of the C code, specially if you know your system in-depth, but (from experience) it's very easy to lose track of the program's state and end up shooting your foot. | ||||||||
| ||||||||
| ▲ | 2 days ago | parent | prev [-] | |||||||
| [deleted] | ||||||||