Remix.run Logo
jerome-jh 6 days ago

This is a modularity vs integration tradeoff.

- Linux is a patchwork of SW, written in a variety of programming languages, using a variety of libraries, some of which having the same functionality. There is duplication, misalignment, legacy.

- MacOS is developed by a single company. It is much more integrated and coherent.

Same for the CPU:

- x86 accesses memory through an external bus. The ability to install a third party GPU requires an external bus, with a standardized protocol, bus width, etc. This is bound to lag behind state of the art

- Apple chips have on die memory, GPU (actually same package but not same die). Higher speeds, optimization, evading from standardized protocols: all this is possible.

This has an impact on kernel/drivers/compilers:

- x86: so many platforms, CPU versions, protocol revisions to support. Often with limited documentation. This wastes hell a lot of engineering time!

- Apple: limited number of HW platforms to support, full access to internals.