Memory management is a critical issue for correctness and performance of hard-real time systems. Java environments usually incorporate high-throughput garbage collection algorithms, but these algorithms can induce pause times in excess of 100 milliseconds. This is not acceptable for a real-time system. Two approaches for remedying this problem are being investigated. The pauses times can be bounded with a real-time garbage collector, or means to program around the collector entirely can be provided, as it done in the Real-time Specification for Java with its Scoped Memory interface. This paper presents the first side-by-side empirical evaluation of the impact of memory management regimes on realistic realtime applications. We present usability arguments as well as a detailed performance comparison of scoped memory and real-time garbage collection. Experience with medium sized systems suggests that while programming with Scoped Memory is error prone, it provides substantially better ...