Since ObjC(++) is a true superset of C (or C++), you can just write the performance-sensitive parts in C or C++ anyway. ObjC is only needed when talking to (most) macOS/iOS operating system APIs.
It really depends on how much ObjC features you use in the performance-sensitive parts of your code base.
If you build your entire code around the ObjC object model and not just the parts that talk to operating system APIs you might see a performance hit since ObjC method calls are simply more expensive than a direct C function call (especially since C function calls can often be inlined)., and even setting or getting an ObjC object property involves a method call.
But since ObjC is also a complete C there's really no point in using more ObjC OOP features than really needed (e.g. just for talking to iOS/macOS framework APIs).
flohofwoe|10 months ago
saagarjha|10 months ago
flohofwoe|10 months ago
If you build your entire code around the ObjC object model and not just the parts that talk to operating system APIs you might see a performance hit since ObjC method calls are simply more expensive than a direct C function call (especially since C function calls can often be inlined)., and even setting or getting an ObjC object property involves a method call.
But since ObjC is also a complete C there's really no point in using more ObjC OOP features than really needed (e.g. just for talking to iOS/macOS framework APIs).
wruza|10 months ago
pineaux|10 months ago
Although I think it really depends on how you structure your program.