Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

If I'm making a professional desktop app like Blender or whatever, then right now I only need to worry about x86 SIMD optimizations & behaviors. I don't care about iPhone/iPad/Raspberry Pi performance. I may care that it works, because why not? But I don't care about optimizing for it.

Now, though, suddenly I need to figure out how NEON works if I want to continue to support professional users on MacOS. I need to increase my hardware costs to ensure adequate test coverage. I need to use something other than Intel's glorious VTune for profiling & optimization. When I'm step-debugging my C++ or assembly tight-loops, I need to know double the amount of assembly than I do today. I need to learn ARM's memory model & cache behaviors.

If I'm just writing some silly native app that could have been a website as is trendy then yeah this is all no big deal, who cares? But if you're really pushing professional app boundaries, where time is money? That's a different story.



Many things in the world of software are neither webapps nor contain a lot of highly optimized hand-written assembly. That's the worst false dichotomy I've read so far today, and I read political Twitter.

Just because your use case is different from those who have C or C++ code and a good optimizing compiler doesn't mean you need to disparage every other type of developer on the planet.

There are a lot of people who write native ARM for phones and tablets for performance purposes, too. Some of them get down into ARM assembly. If they port to Intel and want to do assembly-level things there, they need to learn twice as much assembly coming the other direction.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: