From mboxrd@z Thu Jan 1 00:00:00 1970 References: <201102181445.41877.dexen.devries@gmail.com> <201102181753.30125.dexen.devries@gmail.com> <7769a67a9fbc1fae2186ff9315457e0d@ladd.quanstro.net> <20110218191509.552355B77@mail.bitblocks.com> In-Reply-To: <20110218191509.552355B77@mail.bitblocks.com> Mime-Version: 1.0 (iPhone Mail 8C148) Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii Message-Id: Cc: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> From: David Leimbach Date: Fri, 18 Feb 2011 11:35:18 -0800 To: Fans of the OS Plan 9 from Bell Labs <9fans@9fans.net> Subject: Re: [9fans] Modern development language for Plan 9, WAS: Re: RESOLVED: recoving important header file rudely Topicbox-Message-UUID: b13ad550-ead6-11e9-9d60-3106f5b1d025 Sent from my iPhone On Feb 18, 2011, at 11:15 AM, Bakul Shah wrote: > On Fri, 18 Feb 2011 10:46:51 PST Rob Pike wrote: >> The more you optimize, the better the odds you slow your program down. >> Optimization adds instructions and often data, in one of the >> paradoxes of engineering. In time, then, what you gain by >> "optimizing" increases cache pressure and slows the whole thing down. >=20 > You need a feedback loop. Uncontrolled anything is a recipe > for disaster. Optimizations need to be `judicious' but that > requires experience, profiling and understanding but the > trend seems to be away from that..... >=20 > On a slightly different tangent, 9p is simple but it doesn't > handle latency very well. To make efficient use of long fat > pipes you need more complex mechanisms -- there is no getting=20 > around that fact. rsync & hg in spite of their complexity > beat the pants off replica. Their cache behavior is not very > relevant here. Similarly file readahead is usually a win. >=20 >> C++ inlines a lot because microbenchmarks improve, but inline every >> modest function in a big program and you make the binary much bigger >> and blow the i-cache. >=20 > That's a compiler fault. Surely modern compilers need to be > cache aware? ideally a smart compiler treats `inline' as a hint > at most, just like `register'. >=20 Well how does template expansion affect all of this? I've heard in conversa= tions that C++ is pretty register hungry which makes me think lots of inlini= ng happens behind the scenes. Then again that's an implementation detail, e= xcept maybe for templates.=