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.