| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
Cross-platform deterministic float point, fast soft float point.
Fast soft float point for deterministic computing, That you can make deterministic plugin by use GFloat to replace float-point. like:
Compare the overall performance of hard float IEEE-754 and GFloat numbers, They differ by no more than 500%, Refer to the multiply-add instructions for measuring the computing power of the graphics card. compare multiply and add function:
跨平台的确定性浮点数,高性能的软件浮点数
你可以使用GFloat替代各种中间件的浮点数,从而实现带确定性的计算,实现帧同步游戏逻辑,也可以实现加密货币计算逻辑,例如:
整体上GFloat与IEEE754的硬件浮点数float,性能差距在500%以内。参考显卡衡量计算能力的乘加指令,主要比较乘法和加法函数的性能:
IEEE-754 float
| sign | exponents(8 bits) | fractions(23 bits) | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 31 | 30 | 29 | ... | 24 | 23 | 22 | 21 | ... | 1 | 0 |
GFloat
| sign | fractions(23 bits) | exponents(8 bits) | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| 31 | 30 | 29 | ... | 9 | 8 | 7 | 6 | ... | 1 | 0 |
| Platform | Win64 | Win64 | iOS | OSX | Android |
|---|---|---|---|---|---|
| CPU | Ryzen-5950X | i9-12900H | Apple A15 | Apple M1Pro | HiSilicon-KIRIN-990 |
| float vs GFloat | float vs GFloat | float vs GFloat | float vs GFloat | float vs GFloat | |
| Add | 0.63 vs 2.63 ms | 0.44 vs 1.48ms | 0.43 vs 1.85 ms | 0.34 vs 2.24 ms | 0.89 vs 8.76 ms |
| Mul | 0.70 vs 1.14 ms | 0.52 vs 0.79 ms | 0.42 vs 0.78 ms | 0.34 vs 0.93 ms | 0.62 vs 2.10 ms |
| Sin | 10.20 vs 8.39 ms | 8.6 vs 3.15 ms | 3.6 vs 4.9 ms | 2.29 vs 5.28 ms | 11.58 vs 15.75 ms |
| Sqrt | 1.08 vs 9.29 ms | 0.7 vs 6.2 ms | 0.83 vs 5.64 ms | 0.64 vs 6.06 ms | 0.65 vs 15.77 ms |
| Exp | 2.06 vs 10.83ms | 2.15 vs 24.52ms | 5.52 vs 7.03 ms | 5.75 vs 6.52 ms | 6.06 vs 20.90 ms |
| Target Platform | Compiler | Project |
|---|---|---|
| Win | Visual Studio 2022 | deterministic/deterministic_float.sln |
| MacOS | XCode 13.4 | deterministic/deterministic_float.xcodeproj |
| iOS | XCode 13.4 | deterministic/deterministic_float_ios.xcodeproj |
| Android | Android studio 4.0 | deterministic/deterministic_float_android |
| Operation System | Win64 | MacOS | iOS | Android |
|---|---|---|---|---|
| $\checkmark$ | $\checkmark$ | $\checkmark$ | $\checkmark$ |
| Back | FazBrowse Home | New Git URL |