Re:The C juggernaut illustrated (2012)
by galangalalgol on Saturday February 04, 2023 @09:37PM
(#34661120)
I didn't realize who I was replying to! But yes in rust. I have messed with mutable statics with a mutex and maybeuinit mostly for exporting stuff as a cdylib that has mutable state, and found I lose some of what I love about rust. So I heap allocate once and do borrows for each stage in my pipeline (SDR stuff). Sometimes a stage copies to cuda device mem, or back, or doesn't and just carries a device pointer through behind an abstraction. Is there a good reason to avoid preallocation on the heap?
[ Parent
| on HN ]
Re:The C juggernaut illustrated (2012)
by steveklabnik on Saturday February 04, 2023 @10:02PM
(#34661313)
I thought we were talking about a situation with no heap! If you have that luxury, heck yeah just call malloc.
Re:The C juggernaut illustrated (2012)
by SAI_Peregrinus on Sunday February 05, 2023 @05:10PM
(#34670134)
That's not always viable. Allowing heap allocation only at init is pretty common in embedded. Read config to get sizes, allocate at startup, never call free().
Re:The C juggernaut illustrated (2012)
by steveklabnik on Sunday February 05, 2023 @09:58PM
(#34672735)
I don't understand what you mean by "That's not always viable." You can either call malloc, or you can't. If you can only call it at startup, only call it at startup. Every project has different requirements, and Rust will let you satisfy any of them.