From 5a6c214b0a6eee38f42beeb8bb27cd53dff70911 Mon Sep 17 00:00:00 2001 From: pcwalton Date: Mon, 27 Aug 2012 16:54:37 -0700 Subject: [PATCH] Updated Note Rust performance fixes (markdown) --- Note-Rust-performance-fixes.md | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/Note-Rust-performance-fixes.md b/Note-Rust-performance-fixes.md index e0c5127..98d1112 100644 --- a/Note-Rust-performance-fixes.md +++ b/Note-Rust-performance-fixes.md @@ -45,6 +45,14 @@ oh yeah, another thing I was thinking: stop making so many basic blocks pcwalton: especially when optimization is off, LLVM goes basic-block-by-basic-block in codegen +pcwalton: oh yeah, we should also see if we can get away with not zeroing out memory when we allocate it + +pcwalton: +that's like 5% of our performance right there + +pcwalton: +in some profiles anyway + ## Memory moves If you see large sequences of "mov" instructions, use `call_memmove` or `memzero` in trans, as appropriate. This is usually a symptom of code like `Store(bcx, Load(bcx, foo, bar), baz);`, which is *not* an efficient way to move large structural types around. \ No newline at end of file