[openbeos] !RE: Drivers in C

  • From: "John Morgan" <johnmorg@xxxxxxx>
  • To: <openbeos@xxxxxxxxxxxxx>
  • Date: Thu, 17 Jan 2002 10:30:02 -0800

There are three sources of inefficiency for C++. First is exception
handling, which can be disabled during compilation. Second is abstraction,
where some constructs such as accessor functions may not be handled
efficiently by the compiler. This can be avoided by careful design of the
driver model. The other source of inefficiency is programmer carelessness.
This can be avoided by applying good practices as outlined in Effective C++
and More Effective C++.

I personally would advocate using a C++ subset similar to "C with classes".
This could include virtual classes, because they're as efficient as the
alternative (function pointers).

 - John

-----Original Message-----
From: John Tegen
Sent: Thursday, January 17, 2002 9:21 AM
Subject: [openbeos] Drivers in C


$0.02 for drivers in C vs C++:

The OS needs to be tight as possible.  C++ has some performance issues over
straight C.  Virtual methods in C++ also adds a couple of bytes to the
container vs. a structure.  If OBOS is going to be used as an embedded OS
(which it could be), then the kernel needs to be very tight.


Other related posts: