substack.com/@chienpham/note/c-52996400

Preview meta tags from the substack.com website.

Linked Hostnames

2

Thumbnail

Search Engine Appearance

Google

https://substack.com/@chienpham/note/c-52996400

Chien Pham (@chienpham)

Thanks for great writing, below is my understanding, pls let me know if I'm wrong 🙏 1. inline / precomputing (dispatch) - execute directly, no jump - well know info at compile time - e.g: simple struct, enum definition 2. static dispatch: - 1 jump to execute address - execute memory address is knowable at compile time 3. dynamic dispatch (virtual table / witness table dispatch) - inheritance / polymorphism (method override, protocol conforms …) - method execute address is stored in function table - 2 jumps when execute: (1) jumps to the function table, (2) access `vTable[method_name]` to get the execute access 4. message dispatch - powered by Objective-C runtime , pure swift don’t have message dispatch - using `objc_msgSend` to determine the implementation of a given `selector` , - complier search through class (NSObject subclass) hierarchy bottom up, - each class can provide the implementation at runtime using several method level: `resolveInstanceMethod`, `forwardingTargetForSelector` , `forwardInvocation` (similar for class method)



Bing

Chien Pham (@chienpham)

https://substack.com/@chienpham/note/c-52996400

Thanks for great writing, below is my understanding, pls let me know if I'm wrong 🙏 1. inline / precomputing (dispatch) - execute directly, no jump - well know info at compile time - e.g: simple struct, enum definition 2. static dispatch: - 1 jump to execute address - execute memory address is knowable at compile time 3. dynamic dispatch (virtual table / witness table dispatch) - inheritance / polymorphism (method override, protocol conforms …) - method execute address is stored in function table - 2 jumps when execute: (1) jumps to the function table, (2) access `vTable[method_name]` to get the execute access 4. message dispatch - powered by Objective-C runtime , pure swift don’t have message dispatch - using `objc_msgSend` to determine the implementation of a given `selector` , - complier search through class (NSObject subclass) hierarchy bottom up, - each class can provide the implementation at runtime using several method level: `resolveInstanceMethod`, `forwardingTargetForSelector` , `forwardInvocation` (similar for class method)



DuckDuckGo

https://substack.com/@chienpham/note/c-52996400

Chien Pham (@chienpham)

Thanks for great writing, below is my understanding, pls let me know if I'm wrong 🙏 1. inline / precomputing (dispatch) - execute directly, no jump - well know info at compile time - e.g: simple struct, enum definition 2. static dispatch: - 1 jump to execute address - execute memory address is knowable at compile time 3. dynamic dispatch (virtual table / witness table dispatch) - inheritance / polymorphism (method override, protocol conforms …) - method execute address is stored in function table - 2 jumps when execute: (1) jumps to the function table, (2) access `vTable[method_name]` to get the execute access 4. message dispatch - powered by Objective-C runtime , pure swift don’t have message dispatch - using `objc_msgSend` to determine the implementation of a given `selector` , - complier search through class (NSObject subclass) hierarchy bottom up, - each class can provide the implementation at runtime using several method level: `resolveInstanceMethod`, `forwardingTargetForSelector` , `forwardInvocation` (similar for class method)

  • General Meta Tags

    14
    • title
      Chien Pham (@chienpham): "Thanks for great writing, below is my understanding, pls let me know if I'm wrong 🙏 1. inline / precomputing (dispatch) - execute directly, no jump - well know info at compile time - e.g: simple struct, enum definition 2. static dispatch: - 1 jump to execute add…"
    • title
    • title
    • title
    • title
  • Open Graph Meta Tags

    9
    • og:url
      https://substack.com/@chienpham/note/c-52996400
    • og:image
      https://substackcdn.com/image/fetch/$s_!XCt4!,w_400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Freader%2Fnotes-thumbnail.jpg
    • og:image:width
      400
    • og:image:height
      400
    • og:type
      article
  • Twitter Meta Tags

    8
    • twitter:image
      https://substackcdn.com/image/fetch/$s_!XCt4!,w_400,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack.com%2Fimg%2Freader%2Fnotes-thumbnail.jpg
    • twitter:card
      summary
    • twitter:label1
      Likes
    • twitter:data1
      1
    • twitter:label2
      Replies
  • Link Tags

    17
    • alternate
      https://substack.com/@chienpham/note/c-52996400
    • apple-touch-icon
      https://substackcdn.com/icons/substack/apple-touch-icon.png
    • canonical
      https://substack.com/@chienpham/note/c-52996400
    • icon
      https://substackcdn.com/icons/substack/icon.svg
    • manifest
      /manifest.json

Links

5