From owner-freebsd-chat Fri May 14 10:35: 9 1999 Delivered-To: freebsd-chat@freebsd.org Received: from cygnus.rush.net (cygnus.rush.net [209.45.245.133]) by hub.freebsd.org (Postfix) with ESMTP id 8DCE714C3C; Fri, 14 May 1999 10:35:03 -0700 (PDT) (envelope-from bright@rush.net) Received: from localhost (bright@localhost) by cygnus.rush.net (8.9.3/8.9.3) with SMTP id MAA12527; Fri, 14 May 1999 12:58:21 -0500 (EST) Date: Fri, 14 May 1999 12:58:19 -0500 (EST) From: Alfred Perlstein To: Dag-Erling Smorgrav Cc: Eivind Eklund , Brett Glass , Jamie Bowden , chat@FreeBSD.ORG Subject: Re: BSD, GPL, the world today. (fwd) In-Reply-To: Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-chat@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.org On 14 May 1999, Dag-Erling Smorgrav wrote: > [I consider myself a friend of Alfred's as well, which I guess > entitles me to pick on him ;P] > > Eivind Eklund writes: > > To state this another way: Alfred, you're repeating a lot of myths. > > If you're going to have an opinion about this stuff (and you don't > > have to - saying "I don't know enough to have an opinion" is fair > > statement), you need to get the facts. Compiler theory, memory > > management speed measurements, cache handling, average number of bugs > > connected to different programming paradigms, etc. > > To pick one item in the above list which is becoming increasingly > important, C is too low-level to allow the compiler to properly > optimize for efficient cache use, and lacks constructs which would > allow the programmer to help the compiler do this. The reason why I'm > saying it's becoming increasingly important is that memory (and cache) > speed is lagging way behind CPU speed, and the gap is widening every > day. Consider an n-way superscalar CPU with, say, five issues per > clock, running at one gigahertz (totalling five gigaissues per second > in the best case), and a memory hierarchy with a level 1 cache running > at CPU speed and a primary store with a 100 ns average acess, a cache > miss costs 500 instructions. Given those premises, you really, really > want to avoid cache misses as much as possible. I'm sort of irritated that the two of you don't belive I know enough about cache to code appropriatly for it. I do profile my code, I have taken various projects and optimized the hell out of them. @hotjobs I increased the complexity of the resume extractor by 5 times; 5 times more code, and took the performance down from 10ms to ~1-2ms, increasing the accuracy of it and giving it the speed needed to batch large amounts of input. I try to make my programs exhibit as much locality as possible. Avoid kernel calls, watch my reallocs, allocs and strdups etc... Speed has always been very important to me, so if you have any suggestions as to languages to look at (for some reason Modula-2/3 looks cool maybe?) I'd be happy to take a look at it. I've found myself unable to sleep many times thinking "if only C offered feature X or Y to make this faster..." this leaves me VERY open to suggestions for a replacement. :) Java gets you banished to the wasteland. -Alfred To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-chat" in the body of the message