4 ms·
By that logic, any time anybody optimizes for anything, they're somehow punishing everybody else with "penalties." What if somebody on the Intel/AMD side of th
by JohnBooty 5y ago
By that logic, any time anybody optimizes for anything, they're somehow punishing everybody else with "penalties."
What if somebody on the Intel/AMD side of things includes some optimizations for SSE, AVX, etc? Are they punishing everybody else?
At any rate, my idea was less than half baked and again, not exactly something I'm pining for. Was just thinking about things Apple might conceivably be able to try with their unique vertical integration.
- vel0city 5y agoSSE/AVX/etc aren't optimizations for a single application, they're optimizations for specific kinds of math instructions. Any application using that processor can use them, and they're overall pretty general instructions. Hyper-optimizing for a particular application means the way that particular application works gets accelerated, but not things in general. Sure, if a browser behaved identically to Safari, it too would potentially experience the speed up barring any weird microcode/firmware that only allows those extensions to be used by Apple-signed binaries which is a whole 'nother level of nightmare. Stepping outside of that highly optimized path is essentially a penalty though as it by definition wouldn't be so highly optimized. And once that optimized path has been etched into the silicon, there's no real updating it unless we move to CPUs being more like FPGAs which isn't likely to happen.
- FireBeyond 5y agoWhen they make optimizations for something, and then _artificially limit_ access to those optimizations (for applications that absolutely could utilize them) for purely commercial or marketing reasons, then yes, absolutely they're punishing. Intel doesn't forbid compilers from generating code for SSE or AVX. Apple _does_ forbid Chrome from using energy management and other APIs for no other reason than to keep it less efficient than Safari.
- JohnBooty 5y agoI didn't realize Safari made such heavy use of private APIs. That is unfair and I would not support that behavior whether talking about private software APIs or private hardware instructions. What I was half-assedly imagining wouldn't be anything like that. (Although, FWIW, Chrome has private APIs too: https://blog.chromium.org/2021/01/limiting-private-api-availability-in.html https://blog.chromium.org/2021/01/limiting-private-api-avail... Different use case, but still.)