{"id":47,"date":"2002-10-22T09:27:08","date_gmt":"2002-10-22T13:27:08","guid":{"rendered":"\/?p=47"},"modified":"2025-07-08T21:55:30","modified_gmt":"2025-07-09T01:55:30","slug":"more_mach_o_and_gcc_slown","status":"publish","type":"post","link":"https:\/\/mjtsai.com\/blog\/2002\/10\/22\/more_mach_o_and_gcc_slown\/","title":{"rendered":"More Mach-O and GCC Slowness"},"content":{"rendered":"<p>&ldquo;Feanor&rdquo; adds a comment to Slava&rsquo;s <a href=\"http:\/\/www.unsanity.org\/archives\/000044.php\">Mach-O ABI post<\/a>:<\/p>\n\n<blockquote><p>Case in point: the _msgSend routine of ObjC is in \/usr\/lib\/libobjc so every message sent in any piece of ObjC code has that 11 cycle penalty tacked onto the beginning, and then it gets the 9 cycle PIC penalty once you actually get there... every object function (method) call in ObjC goes through that.<\/p>\n\n<p>[&hellip;]<\/p>\n\n<p>iTunes recompiled by GCC\/MachO was 30% slower at MP3 decompression than with CodeWarrior\/PEF. Lame MP3 Encoder was 50% faster with CodeWarrior PEF than with GCC\/MachO, both on OS X. (both are Carbon apps)<\/p>\n\n<\/blockquote>","protected":false},"excerpt":{"rendered":"<p>&ldquo;Feanor&rdquo; adds a comment to Slava&rsquo;s Mach-O ABI post: Case in point: the _msgSend routine of ObjC is in \/usr\/lib\/libobjc so every message sent in any piece of ObjC code has that 11 cycle penalty tacked onto the beginning, and then it gets the 9 cycle PIC penalty once you actually get there... every object [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"apple_news_api_created_at":"2025-07-09T01:55:32Z","apple_news_api_id":"da52ae79-08b2-4241-b812-447023f9bbe0","apple_news_api_modified_at":"2025-07-09T01:55:32Z","apple_news_api_revision":"AAAAAAAAAAD\/\/\/\/\/\/\/\/\/\/w==","apple_news_api_share_url":"https:\/\/apple.news\/A2lKueQiyQkG4EkRwI_m74A","apple_news_coverimage":0,"apple_news_coverimage_caption":"","apple_news_is_hidden":false,"apple_news_is_paid":false,"apple_news_is_preview":false,"apple_news_is_sponsored":false,"apple_news_maturity_rating":"","apple_news_metadata":"\"\"","apple_news_pullquote":"","apple_news_pullquote_position":"","apple_news_slug":"","apple_news_sections":"\"\"","apple_news_suppress_video_url":false,"apple_news_use_image_component":false,"footnotes":""},"categories":[4],"tags":[285,30,2792],"class_list":["post-47","post","type-post","status-publish","format-standard","hentry","category-programming-category","tag-gcc","tag-mac","tag-mach-o"],"apple_news_notices":[],"_links":{"self":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/47","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/comments?post=47"}],"version-history":[{"count":1,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/47\/revisions"}],"predecessor-version":[{"id":48408,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/posts\/47\/revisions\/48408"}],"wp:attachment":[{"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/media?parent=47"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/categories?post=47"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mjtsai.com\/blog\/wp-json\/wp\/v2\/tags?post=47"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}