Hacker News new | ask | show | jobs
by DonHopkins 1756 days ago
But the point is that Apple's software that runs on the M1 is absurdly better than the competition, especially on the M1, because both the macOS software and the M1 hardware were designed to work together hand-in-hand fast and efficiently.

So even if you could get all the hardware drivers working properly, Linux/Gnome still will lose out to macOS because that hardware simply wasn't designed for that software, and that software simply wasn't designed for that hardware, while macOS and M1 were both designed to work together.

But Gnome was originally designed to run on X-Windows, whose hardware model is a MicroVAX framebuffer on acid.

https://donhopkins.medium.com/the-x-windows-disaster-128d398...

The color situation is a total flying circus. The X approach to device independence is to treat everything like a MicroVAX framebuffer on acid. A truly portable X application is required to act like the persistent customer in Monty Python’s “Cheese Shop” sketch, or a grail seeker in “Monty Python and the Holy Grail.” Even the simplest applications must answer many difficult questions:

WHAT IS YOUR DISPLAY?

   display = XOpenDisplay("unix:0");
WHAT IS YOUR ROOT?

    root = RootWindow(display, DefaultScreen(display));
AND WHAT IS YOUR WINDOW?

    win = XCreateSimpleWindow(display, root, 0, 0, 256, 256, 1,
                              BlackPixel(
                                  display,
                                  DefaultScreen(display)),
                              WhitePixel(
                                  display,
                                  DefaultScreen(display)));
OH ALL RIGHT, YOU CAN GO ON.

    (the next client tries to connect to the server)
WHAT IS YOUR DISPLAY?

    display = XOpenDisplay("unix:0");
WHAT IS YOUR COLORMAP?

    cmap = DefaultColormap(display, DefaultScreen(display));
AND WHAT IS YOUR FAVORITE COLOR?

    favorite_color = 0; /* Black. */
    /* Whoops! No, I mean: */
    favorite_color = BlackPixel(display, DefaultScreen(display));
    /* AAAYYYYEEEEE!! */

    (client dumps core & falls into the chasm)
WHAT IS YOUR DISPLAY?

    display = XOpenDisplay("unix:0");
WHAT IS YOUR VISUAL?

    struct XVisualInfo vinfo;
    if (XMatchVisualInfo(display, DefaultScreen(display),
                         8, PseudoColor, &vinfo) != 0)
        visual = vinfo.visual;
AND WHAT IS THE NET SPEED VELOCITY OF AN XConfigureWindow REQUEST?

    /* Is that a SubstructureRedirectMask or a ResizeRedirectMask? */
WHAT??! HOW AM I SUPPOSED TO KNOW THAT? AAAAUUUGGGHHH!!!!

    (server dumps core & falls into the chasm)
1 comments

The "it was all designed by Apple so can't be outperformed in parts" has got to be a trope at this point.

If that's the case why is Chrome able to put benchmark Safari on my M1?

Not to mention the OS shouldn't be the bottleneck for anything performance related in a desktop type system anyways.

Where did you get that quote? It's certainly not what I wrote, or meant.

And what is a "put benchmark"? Why would you only benchmark a web browser's HTTP "PUT" method?

The quote is to describe the aforementioned integration trope, not sure it has a succinct name beyond that hence the long description in quotes. It first got really popular when it was note one of the iPhone A* processors added JavaScript specific rounding to much "that's how safari can be so great on this device release, it integrates straight to the hardware" only to find out from a safari dev it hadn't even gained that yet. Yes end to end integration is a huge boon to a consistent user experience but it doesn't change efficiency nearly as !uch as some like to think, certainly not more than can be gained from normal optimizations still available and it's certainly not the ultimate goalpost even for consistent experience just a great aid.

Put = out, please forgive mbile keyboard while on a plane :). I do like the level of creativity for an http put benchmark though!

Because safari isn't purely optimized for speed. It's optimized for 'fast enough', but also low power usage. Chrome is _only_ optimized for speed (and thusly uses far more power), though it's my understanding that google is rethinking that balance somewhat.