Sebastian Scholz
๐ค SpeakerAppearances Over Time
Podcast Appearances
So if we request a piece of memory, but we don't have any more, for example, like this, there has to be still debug assertions.
And in fact, Rust itself brings a lot of debug assertions as well.
Every time you access an array, for example, or a slice,
You have debug assertions that make sure that you don't go over any of the limits in memory.
And that's one of the strong systems of Rust as well, right?
That's the memory safety.
All of these checks at runtime as well.
Of course, you can disable them.
But for us, it's a trade-off of size versus security.
And for the Gamma Alpha project, at least, we were able to leave debug assertions on.
Because that's another part of the space industry.
Usually you work with hardware that is not like your modern laptops and computers where you have basically unlimited memory and space.
No, our programs need to fit in tiny flash memories.
And so removing debug assertions can be one of the ways where you can have more actual code, but with a smaller size.
And by tiny, you mean how large?
I think like a couple hundred kilobytes.
It kind of depends.
I mean, for the Alpha satellite, we had, I think, so the processor itself had an integrated flash memory of 256 kilobytes.
And then we had an external chip with, I think, an additional one megabyte of flash, if I'm not mistaken.