|
|
|
|
|
by taeric
1 day ago
|
|
Apologies for not responding earlier. I am honestly fine with where this conversation ended and was worried about it never ending. That said, I also find it fun to discuss. :D Conflicting feelings! (To that end, fully understood if this is fully dropped, now.) I do not at all contest this. Would largely expect it. It is a common enough trap that people introduce complications to something expecting it to be faster. I do expect that the largest reason, in this case, is simply volume/network effects. More people lean on floats than on fixed decimal. Therefore, it is not that surprising that more optimization has happened there. This is exactly why I somewhat lament there is not more fixed point work out there. My assertion is if it was more standard, there would be more standard optimizations. For that last point, I would still expect you could pick constants more for multiplication so that you didn't have to do the shifts as often. Probably even preferring classes of numbers where if you have a set of X values that you often multiply with Y values, if you can limit yourself so that all Y values have no decimal part, X*Y is always just an integer multiplication. Now, I also fully grant that systems start to crash when someone didn't realize exactly why no Y values had a decimal. They decide they really need one, and then update the code with a massive performance hit that they didn't even pay attention to. |
|