> On Nov 28, 2016, at 3:35 PM, Jonathan Schleifer <[email protected]> > wrote: > > I read through both links, but is not clear to me what this provides over the > combination of, say, ObjFW + Clang or GNUstep + Clang.
Ditto. I looked at the linked blog post on inlining message-sends*, which ends with "It is possible to reduce the inlining overhead in x86_64 to 32 bytes.” Oof. That’s a lot — half a typical CPU cache line. While you may save clock cycles by inlining, you may lose them again through poor instruction-cache locality. Also, the calling convention** passes parameters (usually) as a pointer to an implicitly-defined C struct. This will slow down accessing the parameters inside the callee because it now has to indirect through that pointer. It also means parameters are forced to be passed through RAM rather than CPU registers, which disables a pretty major optimization in register-rich CPUs. Overall, I think you’re going to need to show some benchmarks (non-trivial ones) to prove that this is actually fast. —Jens * https://www.mulle-kybernetik.com/weblog/2015/mulle_objc_inlined_messaging.html <https://www.mulle-kybernetik.com/weblog/2015/mulle_objc_inlined_messaging.html> ** https://www.mulle-kybernetik.com/weblog/2015/mulle_objc_meta_call_convention.html
_______________________________________________ Do not post admin requests to the list. They will be ignored. Objc-language mailing list ([email protected]) Help/Unsubscribe/Update your Subscription: https://lists.apple.com/mailman/options/objc-language/archive%40mail-archive.com This email sent to [email protected]
