Azzu@lemmy.dbzer0.com 3 days ago
“have optional calls” is not really how this works.
If you’re in an interpreted language, like python, java, c#, you don’t have to do anything, because they compile for the architecture they’re running on already, i.e. using whatever CPU features are available.
If you have a compiled language, and your users compile themselves, then they are choosing which CPU features to use, so you don’t have to do anything. If you distribute pre-built binaries, then you simply have to compile it once for each architecture you want to support, and distribute the correct binary to each user (usually done with an installer).
For graphics, your graphics API also already takes care of using system-specific instructions, and shaders are compiled by it before/while running also using system-specific instructions.
So there’s really no “optional” path that you have to specifically put into your program, so nothing like
Func work() If isArm then doArmStuff() Else if isZen4 then doZen4Stuff() ... End
danielhanrahantng@beehaw.org 3 days ago
The reason I ask is because I know linux does something like that to make sure it is at maximum performance.