[Coco] Somewhat OT: The life of a systems programmer

Steven Hirsch snhirsch at gmail.com
Sat Nov 16 10:02:20 EST 2013


On Fri, 15 Nov 2013, Rich Carreiro wrote:

> If you're done any low-level programming, and even if you
> haven't, you have got to read this absolutely hilarious piece
> from Usenix's ;login: logout magazine:
>
> http://research.microsoft.com/en-us/people/mickens/thenightwatch.pdf

I got a chuckle out of that.  It's a bit reminiscent of the Unix Haters 
Handbook by Jamie Zawinski.  That being said, C++ is really the only 
answer for a lot of scientific and engineering problems.  The important 
thing is not to get too carried away with arcane language features, use 
templates sparingly, etc.  And, if you want high performance NEVER use 
virtual classes to define data objects that are going to exist in 
extremely large numbers.  In my world, you can end up with many billions 
of objects and the V-table pointer adds eight bytes (assuming 64-bit 
architecture) to every one of them.  If you are calling virtual methods an 
extremely large number of times, the extra indirection through the V-table 
will also adversely affect performance.

Modern CS courses go on about "..don't sweat the small details, just 
concentrate on the algorithm", but trust me - the small details can really 
bite you in the butt when you are dealing with extremely large data sets. 
How large?  A typical in-memory problem in the VLSI verification field can 
be 4-500GB.  Some are larger - there's always a waiting list to get on one 
of the few terabyte boxes.

But, this has nothing to do with Cocos.  The thought of a Coco C++ 
compiler is hilarious.

Steve


-- 




More information about the Coco mailing list