Earlier quoted context omitted.
In terms of size, they're almost the same (Objective-C classes are implemented with structs). In terms of speed, the difference is absolutely huge. You can generate a random number faster than you can make an Objective-C call. But, it's fast enough for 95% of things people do with it.
Objective-C message sends are not much slower than C++ virtual calls: http://mikeash.com/pyblog/performance-comparisons-of-common-... And that's from 2008. Clang's improved it a lot.
http://mikeash.com/pyblog/performance-comparisons-of-common-...