There was another cost to OO, early on, though I believe it has been nearly removed. It's been a long time, but it had to do with the fact that the class had a look-up table for the functions, and that meant that there were a few extra cycles on every function call. This may have been amplified for inheritance, or may have only been true for inheritance, or something like that.