-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Don't inline certain functions for smaller binary size #101964
base: master
Are you sure you want to change the base?
Conversation
If you are a linux user did you try to use zram? It will be a bit slower when real ram is fully occupied but it will be very fast in comparison to swap |
Thanks but I'm on Windows 😭 Run some quick benchmarks in godot benchmark. Skipping gpu bound tests (I think nobody cares about the results with poor UHD 730). Datas already averaged between 3 identical runs. Results{
"category": "Asset Import Export > Runtime",
"name": "Export Gltf",
"results": {
"time": {
"master": 85.28,
"pr": 83.12,
"master_div_pr": 1.0259865255052936
}
}
}
{
"category": "Asset Import Export > Runtime",
"name": "Import Fbx",
"results": {
"time": {
"master": 465.2,
"pr": 456.8,
"master_div_pr": 1.0183887915936953
}
}
}
{
"category": "Asset Import Export > Runtime",
"name": "Import Gltf",
"results": {
"time": {
"master": 41.88,
"pr": 42.82,
"master_div_pr": 0.9780476412891173
}
}
}
{
"category": "Asset Import Export > Runtime",
"name": "Import Ogg Audio",
"results": {
"time": {
"master": 6.522,
"pr": 6.061,
"master_div_pr": 1.0760600560963538
}
}
}
{
"category": "Asset Import Export > Runtime",
"name": "Import Webp Images",
"results": {
"time": {
"master": 880.4,
"pr": 876.0,
"master_div_pr": 1.0050228310502283
}
}
}
{
"category": "Core > Array",
"name": "Append Array",
"results": {
"time": {
"master": 266.2,
"pr": 266.6,
"master_div_pr": 0.9984996249062265
}
}
}
{
"category": "Core > Array",
"name": "Bsearch",
"results": {
"time": {
"master": 104.5,
"pr": 104.4,
"master_div_pr": 1.0009578544061302
}
}
}
{
"category": "Core > Array",
"name": "Fill",
"results": {
"time": {
"master": 59.64,
"pr": 55.17,
"master_div_pr": 1.0810222947253942
}
}
}
{
"category": "Core > Array",
"name": "Reverse",
"results": {
"time": {
"master": 33.67,
"pr": 34.83,
"master_div_pr": 0.9666953775480909
}
}
}
{
"category": "Core > Callable",
"name": "Function Callable",
"results": {
"time": {
"master": 322.2,
"pr": 332.6,
"master_div_pr": 0.9687312086590498
}
}
}
{
"category": "Core > Callable",
"name": "Lambda Inline Callable",
"results": {
"time": {
"master": 428.5,
"pr": 431.1,
"master_div_pr": 0.9939689167246578
}
}
}
{
"category": "Core > Callable",
"name": "Lambda Variable Callable",
"results": {
"time": {
"master": 108.3,
"pr": 112.9,
"master_div_pr": 0.9592559787422497
}
}
}
{
"category": "Core > Config File",
"name": "Load",
"results": {
"time": {
"master": 48.45,
"pr": 48.86,
"master_div_pr": 0.9916086778550962
}
}
}
{
"category": "Core > Config File",
"name": "Load With Password",
"results": {
"time": {
"master": 50.3,
"pr": 49.93,
"master_div_pr": 1.007410374524334
}
}
}
{
"category": "Core > Config File",
"name": "Save",
"results": {
"time": {
"master": 51.0,
"pr": 49.54,
"master_div_pr": 1.0294711344368188
}
}
}
{
"category": "Core > Config File",
"name": "Save With Password",
"results": {
"time": {
"master": 53.6,
"pr": 53.36,
"master_div_pr": 1.0044977511244377
}
}
}
{
"category": "Core > Crypto",
"name": "Generate 1g Random Bytes 1k At A Time",
"results": {
"time": {
"master": 1242.0,
"pr": 1235.0,
"master_div_pr": 1.0056680161943319
}
}
}
{
"category": "Core > Crypto",
"name": "Generate 1m Random Bytes 10 At A Time",
"results": {
"time": {
"master": 2193.0,
"pr": 2174.0,
"master_div_pr": 1.0087396504139834
}
}
}
{
"category": "Core > Crypto",
"name": "Generate Rsa 2048",
"results": {
"time": {
"master": 91.36,
"pr": 196.8,
"master_div_pr": 0.4642276422764227
}
}
}
{
"category": "Core > Crypto",
"name": "Generate Rsa 4096",
"results": {
"time": {
"master": 2758.0,
"pr": 1260.0,
"master_div_pr": 2.188888888888889
}
}
}
{
"category": "Core > Node Path",
"name": "Create",
"results": {
"time": {
"master": 17.02,
"pr": 17.33,
"master_div_pr": 0.9821119446047317
}
}
}
{
"category": "Core > Object Db",
"name": "12 Threads Full Contention",
"results": {
"time": {
"master": 593.8,
"pr": 590.1,
"master_div_pr": 1.006270123707846
}
}
}
{
"category": "Core > Object Db",
"name": "12 Threads Half Contention",
"results": {
"time": {
"master": 312.3,
"pr": 314.4,
"master_div_pr": 0.993320610687023
}
}
}
{
"category": "Core > Object Db",
"name": "12 Threads Little Contention",
"results": {
"time": {
"master": 80.13,
"pr": 79.13,
"master_div_pr": 1.0126374320738025
}
}
}
{
"category": "Core > Object Db",
"name": "12 Threads Slope Contention",
"results": {
"time": {
"master": 362.6,
"pr": 356.7,
"master_div_pr": 1.0165405102326885
}
}
}
{
"category": "Core > Object Db",
"name": "2 Threads Full Contention",
"results": {
"time": {
"master": 64.25,
"pr": 62.5,
"master_div_pr": 1.028
}
}
}
{
"category": "Core > Object Db",
"name": "2 Threads Half Contention",
"results": {
"time": {
"master": 42.49,
"pr": 41.6,
"master_div_pr": 1.0213942307692307
}
}
}
{
"category": "Core > Object Db",
"name": "2 Threads Little Contention",
"results": {
"time": {
"master": 25.83,
"pr": 25.41,
"master_div_pr": 1.0165289256198347
}
}
}
{
"category": "Core > Object Db",
"name": "4 Threads Full Contention",
"results": {
"time": {
"master": 174.5,
"pr": 167.0,
"master_div_pr": 1.0449101796407185
}
}
}
{
"category": "Core > Object Db",
"name": "4 Threads Half Contention",
"results": {
"time": {
"master": 95.3,
"pr": 96.81,
"master_div_pr": 0.9844024377646937
}
}
}
{
"category": "Core > Object Db",
"name": "4 Threads Little Contention",
"results": {
"time": {
"master": 37.76,
"pr": 36.74,
"master_div_pr": 1.0277626565051714
}
}
}
{
"category": "Core > Object Db",
"name": "4 Threads Slope Contention",
"results": {
"time": {
"master": 134.6,
"pr": 134.0,
"master_div_pr": 1.0044776119402985
}
}
}
{
"category": "Core > Object Db",
"name": "8 Threads Full Contention",
"results": {
"time": {
"master": 379.3,
"pr": 373.5,
"master_div_pr": 1.015528781793842
}
}
}
{
"category": "Core > Object Db",
"name": "8 Threads Half Contention",
"results": {
"time": {
"master": 201.6,
"pr": 202.9,
"master_div_pr": 0.9935929029078363
}
}
}
{
"category": "Core > Object Db",
"name": "8 Threads Little Contention",
"results": {
"time": {
"master": 58.26,
"pr": 55.87,
"master_div_pr": 1.0427778772149634
}
}
}
{
"category": "Core > Object Db",
"name": "8 Threads Slope Contention",
"results": {
"time": {
"master": 243.9,
"pr": 239.3,
"master_div_pr": 1.0192227329711658
}
}
}
{
"category": "Core > Object Db",
"name": "Single",
"results": {
"time": {
"master": 21.6,
"pr": 21.3,
"master_div_pr": 1.0140845070422535
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randf",
"results": {
"time": {
"master": 107.5,
"pr": 106.8,
"master_div_pr": 1.006554307116105
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randf Range",
"results": {
"time": {
"master": 352.3,
"pr": 345.5,
"master_div_pr": 1.0196816208393633
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randfn",
"results": {
"time": {
"master": 831.6,
"pr": 821.5,
"master_div_pr": 1.0122945830797323
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randi",
"results": {
"time": {
"master": 96.15,
"pr": 96.75,
"master_div_pr": 0.9937984496124032
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randi Range",
"results": {
"time": {
"master": 136.8,
"pr": 137.6,
"master_div_pr": 0.994186046511628
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randomize",
"results": {
"time": {
"master": 842.5,
"pr": 820.9,
"master_div_pr": 1.0263125837495433
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randf",
"results": {
"time": {
"master": 264.7,
"pr": 263.7,
"master_div_pr": 1.0037921880925293
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randf Range",
"results": {
"time": {
"master": 291.2,
"pr": 293.2,
"master_div_pr": 0.9931787175989086
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randfn",
"results": {
"time": {
"master": 809.6,
"pr": 807.7,
"master_div_pr": 1.0023523585489662
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randi",
"results": {
"time": {
"master": 72.7,
"pr": 70.6,
"master_div_pr": 1.029745042492918
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randi Range",
"results": {
"time": {
"master": 109.6,
"pr": 110.3,
"master_div_pr": 0.9936536718041704
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randomize",
"results": {
"time": {
"master": 852.8,
"pr": 841.4,
"master_div_pr": 1.013548847159496
}
}
}
{
"category": "Core > Signal",
"name": "Emission Params 0",
"results": {
"time": {
"master": 206.8,
"pr": 228.0,
"master_div_pr": 0.9070175438596492
}
}
}
{
"category": "Core > Signal",
"name": "Emission Params 1",
"results": {
"time": {
"master": 207.6,
"pr": 225.9,
"master_div_pr": 0.9189907038512616
}
}
}
{
"category": "Core > Signal",
"name": "Emission Params 10",
"results": {
"time": {
"master": 245.9,
"pr": 247.1,
"master_div_pr": 0.9951436665317686
}
}
}
{
"category": "Core > String Name",
"name": "Create",
"results": {
"time": {
"master": 18.12,
"pr": 18.35,
"master_div_pr": 0.9874659400544958
}
}
}
{
"category": "Gdscript > Alloc",
"name": "Deep Tree",
"results": {
"time": {
"master": 201.0,
"pr": 207.6,
"master_div_pr": 0.9682080924855492
}
}
}
{
"category": "Gdscript > Alloc",
"name": "Duplicate",
"results": {
"time": {
"master": 1475.0,
"pr": 1384.0,
"master_div_pr": 1.0657514450867052
}
}
}
{
"category": "Gdscript > Alloc",
"name": "Fragmentation",
"results": {
"time": {
"master": 2188.0,
"pr": 2208.0,
"master_div_pr": 0.9909420289855072
}
}
}
{
"category": "Gdscript > Alloc",
"name": "Wide Tree",
"results": {
"time": {
"master": 156.8,
"pr": 156.2,
"master_div_pr": 1.003841229193342
}
}
}
{
"category": "Gdscript > Array",
"name": "Fill Loop",
"results": {
"time": {
"master": 219.2,
"pr": 216.2,
"master_div_pr": 1.0138760407030527
}
}
}
{
"category": "Gdscript > Array",
"name": "Fill Method",
"results": {
"time": {
"master": 83.24,
"pr": 82.86,
"master_div_pr": 1.0045860487569394
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Color Array",
"results": {
"time": {
"master": 140.2,
"pr": 140.4,
"master_div_pr": 0.9985754985754984
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Float 32 Array",
"results": {
"time": {
"master": 108.4,
"pr": 103.9,
"master_div_pr": 1.0433108758421559
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Float 64 Array",
"results": {
"time": {
"master": 107.1,
"pr": 109.7,
"master_div_pr": 0.9762989972652688
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Int 32 Array",
"results": {
"time": {
"master": 81.81,
"pr": 82.37,
"master_div_pr": 0.9932014082797135
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Int 64 Array",
"results": {
"time": {
"master": 85.87,
"pr": 85.76,
"master_div_pr": 1.0012826492537312
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed String Array",
"results": {
"time": {
"master": 684.2,
"pr": 694.0,
"master_div_pr": 0.9858789625360231
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Vector 2 Array",
"results": {
"time": {
"master": 115.4,
"pr": 112.7,
"master_div_pr": 1.0239574090505768
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Vector 3 Array",
"results": {
"time": {
"master": 130.2,
"pr": 130.1,
"master_div_pr": 1.0007686395080706
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Color Array",
"results": {
"time": {
"master": 210.2,
"pr": 211.3,
"master_div_pr": 0.994794131566493
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Float Array",
"results": {
"time": {
"master": 174.8,
"pr": 172.6,
"master_div_pr": 1.0127462340672075
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Int Array",
"results": {
"time": {
"master": 159.9,
"pr": 159.1,
"master_div_pr": 1.0050282840980516
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed String Array",
"results": {
"time": {
"master": 813.3,
"pr": 801.4,
"master_div_pr": 1.014849014225106
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Vector 2 Array",
"results": {
"time": {
"master": 189.7,
"pr": 189.2,
"master_div_pr": 1.0026427061310783
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Vector 3 Array",
"results": {
"time": {
"master": 202.0,
"pr": 201.4,
"master_div_pr": 1.002979145978153
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped Color Array",
"results": {
"time": {
"master": 292.6,
"pr": 297.5,
"master_div_pr": 0.983529411764706
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped Float Array",
"results": {
"time": {
"master": 244.0,
"pr": 245.7,
"master_div_pr": 0.9930809930809932
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped Int Array",
"results": {
"time": {
"master": 242.7,
"pr": 241.1,
"master_div_pr": 1.006636250518457
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped String Array",
"results": {
"time": {
"master": 893.6,
"pr": 896.7,
"master_div_pr": 0.9965428794468607
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped Vector 2 Array",
"results": {
"time": {
"master": 271.3,
"pr": 271.1,
"master_div_pr": 1.00073773515308
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped Vector 3 Array",
"results": {
"time": {
"master": 280.7,
"pr": 281.7,
"master_div_pr": 0.9964501242456514
}
}
}
{
"category": "Gdscript > Binary Trees",
"name": "Binary Trees 13",
"results": {
"time": {
"master": 522.3,
"pr": 505.8,
"master_div_pr": 1.0326215895610913
}
}
}
{
"category": "Gdscript > Binary Trees",
"name": "Binary Trees 15",
"results": {
"time": {
"master": 2462.0,
"pr": 2434.0,
"master_div_pr": 1.0115036976170912
}
}
}
{
"category": "Gdscript > Control",
"name": "Control",
"results": {
"time": {
"master": 0.006667,
"pr": 0.005667,
"master_div_pr": 1.1764602082230458
}
}
}
{
"category": "Gdscript > For Loop",
"name": "For Loop Add",
"results": {
"time": {
"master": 8.016,
"pr": 8.341,
"master_div_pr": 0.961035847020741
}
}
}
{
"category": "Gdscript > For Loop",
"name": "For Loop Call",
"results": {
"time": {
"master": 61.03,
"pr": 60.35,
"master_div_pr": 1.0112676056338028
}
}
}
{
"category": "Gdscript > Hello World",
"name": "Hello World",
"results": {
"time": {
"master": 0.083,
"pr": 0.07733,
"master_div_pr": 1.073322125953705
}
}
}
{
"category": "Gdscript > Lambda Performance",
"name": "Lambda Call",
"results": {
"time": {
"master": 55.92,
"pr": 57.85,
"master_div_pr": 0.9666378565254969
}
}
}
{
"category": "Gdscript > Mandelbrot Set",
"name": "Mandelbrot Set",
"results": {
"time": {
"master": 2338.0,
"pr": 2259.0,
"master_div_pr": 1.034971226206286
}
}
}
{
"category": "Gdscript > Merkle Trees",
"name": "Merkle Trees 13",
"results": {
"time": {
"master": 1642.0,
"pr": 1602.0,
"master_div_pr": 1.024968789013733
}
}
}
{
"category": "Gdscript > Merkle Trees",
"name": "Merkle Trees 15",
"results": {
"time": {
"master": 8083.0,
"pr": 7972.0,
"master_div_pr": 1.01392373306573
}
}
}
{
"category": "Gdscript > Nbody",
"name": "Nbody 1 000 000",
"results": {
"time": {
"master": 6099.0,
"pr": 6014.0,
"master_div_pr": 1.0141336880611906
}
}
}
{
"category": "Gdscript > Nbody",
"name": "Nbody 500 000",
"results": {
"time": {
"master": 3073.0,
"pr": 3011.0,
"master_div_pr": 1.0205911657256725
}
}
}
{
"category": "Gdscript > Spectral Norm",
"name": "Spectral Norm 100",
"results": {
"time": {
"master": 49.85,
"pr": 49.36,
"master_div_pr": 1.0099270664505673
}
}
}
{
"category": "Gdscript > Spectral Norm",
"name": "Spectral Norm 1000",
"results": {
"time": {
"master": 4663.0,
"pr": 4574.0,
"master_div_pr": 1.019457804984696
}
}
}
{
"category": "Gdscript > Spectral Norm",
"name": "Spectral Norm 500",
"results": {
"time": {
"master": 1180.0,
"pr": 1142.0,
"master_div_pr": 1.0332749562171628
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Md 5 Buffer Empty",
"results": {
"time": {
"master": 217.0,
"pr": 213.6,
"master_div_pr": 1.0159176029962547
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Md 5 Buffer Non Empty",
"results": {
"time": {
"master": 664.7,
"pr": 662.9,
"master_div_pr": 1.0027153416804948
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Md 5 Text Empty",
"results": {
"time": {
"master": 177.8,
"pr": 175.0,
"master_div_pr": 1.016
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Md 5 Text Non Empty",
"results": {
"time": {
"master": 621.6,
"pr": 628.9,
"master_div_pr": 0.9883924312291303
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 1 Buffer Empty",
"results": {
"time": {
"master": 192.8,
"pr": 191.9,
"master_div_pr": 1.0046899426784783
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 1 Buffer Non Empty",
"results": {
"time": {
"master": 585.2,
"pr": 579.1,
"master_div_pr": 1.0105335865998963
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 1 Text Empty",
"results": {
"time": {
"master": 161.1,
"pr": 156.6,
"master_div_pr": 1.028735632183908
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 1 Text Non Empty",
"results": {
"time": {
"master": 564.1,
"pr": 536.3,
"master_div_pr": 1.0518366585866121
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 256 Buffer Empty",
"results": {
"time": {
"master": 274.9,
"pr": 273.5,
"master_div_pr": 1.0051188299817184
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 256 Buffer Non Empty",
"results": {
"time": {
"master": 918.1,
"pr": 924.0,
"master_div_pr": 0.9936147186147186
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 256 Text Empty",
"results": {
"time": {
"master": 265.1,
"pr": 241.3,
"master_div_pr": 1.0986324077911314
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 256 Text Non Empty",
"results": {
"time": {
"master": 951.4,
"pr": 889.3,
"master_div_pr": 1.069830203530867
}
}
}
{
"category": "Gdscript > String Format",
"name": "Complex Variable Concatenate",
"results": {
"time": {
"master": 2125.0,
"pr": 2137.0,
"master_div_pr": 0.9943846513804399
}
}
}
{
"category": "Gdscript > String Format",
"name": "Complex Variable Method",
"results": {
"time": {
"master": 3986.0,
"pr": 3971.0,
"master_div_pr": 1.0037773860488541
}
}
}
{
"category": "Gdscript > String Format",
"name": "Complex Variable Percent",
"results": {
"time": {
"master": 2975.0,
"pr": 2992.0,
"master_div_pr": 0.9943181818181818
}
}
}
{
"category": "Gdscript > String Format",
"name": "No Op Constant Method",
"results": {
"time": {
"master": 193.0,
"pr": 188.6,
"master_div_pr": 1.0233297985153764
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Constant Concatenate",
"results": {
"time": {
"master": 2.892,
"pr": 2.975,
"master_div_pr": 0.9721008403361344
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Constant Method",
"results": {
"time": {
"master": 814.8,
"pr": 839.1,
"master_div_pr": 0.9710404004290311
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Constant Method Constant Dict",
"results": {
"time": {
"master": 541.0,
"pr": 568.6,
"master_div_pr": 0.9514597256419275
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Constant Percent",
"results": {
"time": {
"master": 2.889,
"pr": 2.98,
"master_div_pr": 0.9694630872483221
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Variable Concatenate",
"results": {
"time": {
"master": 213.4,
"pr": 214.3,
"master_div_pr": 0.9958002799813346
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Variable Method",
"results": {
"time": {
"master": 808.1,
"pr": 843.9,
"master_div_pr": 0.9575779120748904
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Variable Percent",
"results": {
"time": {
"master": 464.6,
"pr": 476.4,
"master_div_pr": 0.975230898404702
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Begins With",
"results": {
"time": {
"master": 11.19,
"pr": 11.3,
"master_div_pr": 0.9902654867256636
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Bigrams",
"results": {
"time": {
"master": 688.5,
"pr": 677.7,
"master_div_pr": 1.0159362549800797
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Capitalize",
"results": {
"time": {
"master": 1221.0,
"pr": 1292.0,
"master_div_pr": 0.945046439628483
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Casecmp To",
"results": {
"time": {
"master": 9.795,
"pr": 9.771,
"master_div_pr": 1.0024562480810562
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Contains",
"results": {
"time": {
"master": 9.645,
"pr": 9.573,
"master_div_pr": 1.0075211532434973
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Contains Gdscript In",
"results": {
"time": {
"master": 2.889,
"pr": 2.881,
"master_div_pr": 1.0027768136063866
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Count",
"results": {
"time": {
"master": 59.84,
"pr": 61.28,
"master_div_pr": 0.9765013054830287
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Countn",
"results": {
"time": {
"master": 268.2,
"pr": 248.3,
"master_div_pr": 1.080144985904148
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Ends With",
"results": {
"time": {
"master": 10.78,
"pr": 10.74,
"master_div_pr": 1.0037243947858472
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Find",
"results": {
"time": {
"master": 44.46,
"pr": 46.83,
"master_div_pr": 0.9493914157591288
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Findn",
"results": {
"time": {
"master": 64.13,
"pr": 64.39,
"master_div_pr": 0.9959621059170678
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Get Slice",
"results": {
"time": {
"master": 82.66,
"pr": 81.87,
"master_div_pr": 1.0096494442408697
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Get Slice Count",
"results": {
"time": {
"master": 22.87,
"pr": 23.16,
"master_div_pr": 0.9874784110535406
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Humanize Size",
"results": {
"time": {
"master": 937.5,
"pr": 959.3,
"master_div_pr": 0.9772750964244762
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Insert",
"results": {
"time": {
"master": 71.69,
"pr": 69.83,
"master_div_pr": 1.0266361162824
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Is Valid Filename",
"results": {
"time": {
"master": 26.01,
"pr": 26.47,
"master_div_pr": 0.982621836040801
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Lpad",
"results": {
"time": {
"master": 232.0,
"pr": 230.6,
"master_div_pr": 1.0060711188204683
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Naturalnocasecmp To",
"results": {
"time": {
"master": 12.59,
"pr": 12.64,
"master_div_pr": 0.9960443037974683
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Nocasecmp To",
"results": {
"time": {
"master": 37.03,
"pr": 35.54,
"master_div_pr": 1.041924592009004
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Pad Decimals",
"results": {
"time": {
"master": 495.7,
"pr": 493.6,
"master_div_pr": 1.004254457050243
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Pad Decimals Pre Constructed",
"results": {
"time": {
"master": 83.92,
"pr": 82.69,
"master_div_pr": 1.0148748337162898
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Pad Zeros",
"results": {
"time": {
"master": 358.4,
"pr": 356.5,
"master_div_pr": 1.005329593267882
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Pad Zeros Pre Constructed",
"results": {
"time": {
"master": 232.6,
"pr": 227.5,
"master_div_pr": 1.0224175824175823
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Rfind",
"results": {
"time": {
"master": 47.6,
"pr": 48.87,
"master_div_pr": 0.9740126867198691
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Rfindn",
"results": {
"time": {
"master": 169.7,
"pr": 168.0,
"master_div_pr": 1.0101190476190476
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Rpad",
"results": {
"time": {
"master": 182.7,
"pr": 182.1,
"master_div_pr": 1.0032948929159802
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Rsplit",
"results": {
"time": {
"master": 484.0,
"pr": 491.9,
"master_div_pr": 0.983939825167717
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Similarity",
"results": {
"time": {
"master": 34.1,
"pr": 26.49,
"master_div_pr": 1.2872782181955456
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Simplify Path",
"results": {
"time": {
"master": 1400.0,
"pr": 1398.0,
"master_div_pr": 1.0014306151645207
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Split",
"results": {
"time": {
"master": 439.4,
"pr": 464.7,
"master_div_pr": 0.9455562728642134
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Split Floats",
"results": {
"time": {
"master": 357.1,
"pr": 356.8,
"master_div_pr": 1.000840807174888
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Substr",
"results": {
"time": {
"master": 70.23,
"pr": 70.18,
"master_div_pr": 1.00071245369051
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Camel Case",
"results": {
"time": {
"master": 581.0,
"pr": 617.9,
"master_div_pr": 0.9402815989642337
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Lower",
"results": {
"time": {
"master": 189.5,
"pr": 200.7,
"master_div_pr": 0.9441953163926259
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Pascal Case",
"results": {
"time": {
"master": 1404.0,
"pr": 1482.0,
"master_div_pr": 0.9473684210526315
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Snake Case",
"results": {
"time": {
"master": 1026.0,
"pr": 1085.0,
"master_div_pr": 0.9456221198156682
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Utf 16 Buffer",
"results": {
"time": {
"master": 165.9,
"pr": 166.6,
"master_div_pr": 0.9957983193277311
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Utf 32 Buffer",
"results": {
"time": {
"master": 113.6,
"pr": 112.2,
"master_div_pr": 1.0124777183600713
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Utf 8 Buffer",
"results": {
"time": {
"master": 163.1,
"pr": 168.5,
"master_div_pr": 0.9679525222551928
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Wchar Buffer",
"results": {
"time": {
"master": 164.5,
"pr": 166.2,
"master_div_pr": 0.989771359807461
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Uri Decode",
"results": {
"time": {
"master": 565.1,
"pr": 567.6,
"master_div_pr": 0.9955954897815363
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Uri Encode",
"results": {
"time": {
"master": 440.8,
"pr": 443.6,
"master_div_pr": 0.993688007213706
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Validate Filename",
"results": {
"time": {
"master": 335.5,
"pr": 345.1,
"master_div_pr": 0.9721819762387713
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Validate Node Name",
"results": {
"time": {
"master": 101.3,
"pr": 92.4,
"master_div_pr": 1.0963203463203461
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Xml Escape",
"results": {
"time": {
"master": 478.4,
"pr": 479.5,
"master_div_pr": 0.9977059436913451
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Xml Unescape",
"results": {
"time": {
"master": 85.74,
"pr": 86.41,
"master_div_pr": 0.9922462677930795
}
}
}
{
"category": "Math > Convex Hull 3d",
"name": "Both Clean And Simplify",
"results": {
"time": {
"master": 4971.0,
"pr": 5119.0,
"master_div_pr": 0.9710881031451455
}
}
}
{
"category": "Math > Convex Hull 3d",
"name": "Only Clean",
"results": {
"time": {
"master": 5000.0,
"pr": 5112.0,
"master_div_pr": 0.9780907668231612
}
}
}
{
"category": "Math > Convex Hull 3d",
"name": "Only Simplify",
"results": {
"time": {
"master": 19.25,
"pr": 18.89,
"master_div_pr": 1.019057702488089
}
}
}
{
"category": "Math > Convex Hull 3d",
"name": "Quickest",
"results": {
"time": {
"master": 19.42,
"pr": 17.25,
"master_div_pr": 1.1257971014492754
}
}
}
{
"category": "Math > Delaunay 2d",
"name": "Delaunay 2d",
"results": {
"time": {
"master": 106.7,
"pr": 108.5,
"master_div_pr": 0.9834101382488479
}
}
}
{
"category": "Math > Delaunay 3d",
"name": "Delaunay 3d",
"results": {
"time": {
"master": 594.5,
"pr": 598.9,
"master_div_pr": 0.9926531975288029
}
}
}
{
"category": "Math > Expression",
"name": "Parse 20 Complex Expressions Cold",
"results": {
"time": {
"master": 318.4,
"pr": 329.8,
"master_div_pr": 0.9654335961188598
}
}
}
{
"category": "Math > Expression",
"name": "Parse 20 Complex Expressions With Cached Parse",
"results": {
"time": {
"master": 320.3,
"pr": 320.2,
"master_div_pr": 1.0003123048094942
}
}
}
{
"category": "Math > Expression",
"name": "Parse 20 Complex Expressions With Cached Parse Then Execute",
"results": {
"time": {
"master": 323.7,
"pr": 325.7,
"master_div_pr": 0.9938593797973595
}
}
}
{
"category": "Math > Noise",
"name": "Cellular",
"results": {
"time": {
"master": 1103.0,
"pr": 1116.0,
"master_div_pr": 0.9883512544802867
}
}
}
{
"category": "Math > Noise",
"name": "Perlin",
"results": {
"time": {
"master": 382.2,
"pr": 382.0,
"master_div_pr": 1.000523560209424
}
}
}
{
"category": "Math > Noise",
"name": "Simplex",
"results": {
"time": {
"master": 421.9,
"pr": 419.4,
"master_div_pr": 1.0059608965188365
}
}
}
{
"category": "Math > Noise",
"name": "Simplex Smooth",
"results": {
"time": {
"master": 528.2,
"pr": 525.8,
"master_div_pr": 1.0045644731837202
}
}
}
{
"category": "Math > Noise",
"name": "Value",
"results": {
"time": {
"master": 339.9,
"pr": 339.6,
"master_div_pr": 1.0008833922261482
}
}
}
{
"category": "Math > Noise",
"name": "Value Cubic",
"results": {
"time": {
"master": 697.8,
"pr": 706.0,
"master_div_pr": 0.988385269121813
}
}
}
{
"category": "Math > Triangulate",
"name": "Triangulate",
"results": {
"time": {
"master": 81.12,
"pr": 79.63,
"master_div_pr": 1.0187115408765541
}
}
}
{
"category": "Navigation > Astar 2d",
"name": "Astar 5000 Times 5000 Points",
"results": {
"time": {
"master": 507.1,
"pr": 516.9,
"master_div_pr": 0.9810408202747147
}
}
}
{
"category": "Navigation > Astar 3d",
"name": "Astar 1000 Times 1000 Points",
"results": {
"time": {
"master": 559.2,
"pr": 570.4,
"master_div_pr": 0.9803646563814868
}
}
}
{
"category": "Navigation > Moving Agents 2d",
"name": "1000 Moving Agents",
"results": {
"render_cpu": {
"master": 0.06236,
"pr": 0.07396,
"master_div_pr": 0.8431584640346134
},
"time": {
"master": 0.02567,
"pr": 0.021,
"master_div_pr": 1.2223809523809521
}
}
}
{
"category": "Navigation > Moving Agents 3d",
"name": "1000 Moving Agents",
"results": {
"render_cpu": {
"master": 0.02152,
"pr": 0.02648,
"master_div_pr": 0.8126888217522659
},
"time": {
"master": 0.01933,
"pr": 0.01733,
"master_div_pr": 1.115406809001731
}
}
}
{
"category": "Navigation > Navigation 2d",
"name": "Navigation 10 000 Random Paths",
"results": {
"time": {
"master": 7.881,
"pr": 10.13,
"master_div_pr": 0.7779861796643632
}
}
}
{
"category": "Navigation > Navigation 3d",
"name": "Navigation 10 000 Random Paths",
"results": {
"time": {
"master": 8.584,
"pr": 9.001,
"master_div_pr": 0.953671814242862
}
}
}
{
"category": "Scene Nodes > Add Children",
"name": "Add Children With Same Name",
"results": {
"time": {
"master": 76.18,
"pr": 77.8,
"master_div_pr": 0.979177377892031
}
}
}
{
"category": "Scene Nodes > Add Children",
"name": "Add Children Without Name",
"results": {
"time": {
"master": 88.16,
"pr": 90.65,
"master_div_pr": 0.9725317153888582
}
}
}
{
"category": "Scene Nodes > Delete Children",
"name": "Delete Children In Order",
"results": {
"time": {
"master": 8.668,
"pr": 8.434,
"master_div_pr": 1.0277448423049562
}
}
}
{
"category": "Scene Nodes > Delete Children",
"name": "Delete Children Random Order",
"results": {
"time": {
"master": 19.07,
"pr": 19.16,
"master_div_pr": 0.9953027139874739
}
}
}
{
"category": "Scene Nodes > Delete Children",
"name": "Delete Children Reverse Order",
"results": {
"time": {
"master": 8.34,
"pr": 8.297,
"master_div_pr": 1.005182596119079
}
}
}
{
"category": "Scene Nodes > Get Node",
"name": "Get Node",
"results": {
"time": {
"master": 34.22,
"pr": 34.42,
"master_div_pr": 0.9941894247530505
}
}
}
{
"category": "Scene Nodes > Move Children",
"name": "Move Children",
"results": {
"time": {
"master": 812.4,
"pr": 808.2,
"master_div_pr": 1.0051967334818113
}
}
}
{
"category": "Viewport > Activation",
"name": "Activate 1024 Viewports",
"results": {
"time": {
"master": 270.7,
"pr": 265.7,
"master_div_pr": 1.01881821603312
}
}
}
{
"category": "Viewport > Activation",
"name": "Activate 256 Viewports",
"results": {
"time": {
"master": 65.48,
"pr": 64.9,
"master_div_pr": 1.0089368258859783
}
}
}
{
"category": "Viewport > Activation",
"name": "Activate 64 Viewports",
"results": {
"time": {
"master": 22.81,
"pr": 24.0,
"master_div_pr": 0.9504166666666666
}
}
}
{
"category": "Viewport > Allocation",
"name": "Create 1024 Viewports",
"results": {
"time": {
"master": 133.6,
"pr": 134.6,
"master_div_pr": 0.9925705794947994
}
}
}
{
"category": "Viewport > Allocation",
"name": "Create 256 Viewports",
"results": {
"time": {
"master": 22.4,
"pr": 23.39,
"master_div_pr": 0.9576742197520307
}
}
}
{
"category": "Viewport > Allocation",
"name": "Create 64 Viewports",
"results": {
"time": {
"master": 7.923,
"pr": 8.596,
"master_div_pr": 0.9217077710563053
}
}
} Most of the tests showed a performance drop of less than 5%, and some even showed improvements for reasons unknown. So, these changes are at least safe for Result with `production=yes` binarycompile command: {
"category": "Asset Import Export > Runtime",
"name": "Export Gltf",
"results": {
"time": {
"master": 83.56,
"pr": 82.67,
"master_div_pr": 1.010765694931656
}
}
}
{
"category": "Asset Import Export > Runtime",
"name": "Import Fbx",
"results": {
"time": {
"master": 457.8,
"pr": 448.8,
"master_div_pr": 1.0200534759358288
}
}
}
{
"category": "Asset Import Export > Runtime",
"name": "Import Gltf",
"results": {
"time": {
"master": 39.82,
"pr": 40.88,
"master_div_pr": 0.9740704500978473
}
}
}
{
"category": "Asset Import Export > Runtime",
"name": "Import Ogg Audio",
"results": {
"time": {
"master": 6.285,
"pr": 6.609,
"master_div_pr": 0.9509759418974126
}
}
}
{
"category": "Asset Import Export > Runtime",
"name": "Import Webp Images",
"results": {
"time": {
"master": 756.8,
"pr": 763.8,
"master_div_pr": 0.9908352971982194
}
}
}
{
"category": "Core > Array",
"name": "Append Array",
"results": {
"time": {
"master": 272.3,
"pr": 278.5,
"master_div_pr": 0.977737881508079
}
}
}
{
"category": "Core > Array",
"name": "Bsearch",
"results": {
"time": {
"master": 101.6,
"pr": 101.0,
"master_div_pr": 1.005940594059406
}
}
}
{
"category": "Core > Array",
"name": "Fill",
"results": {
"time": {
"master": 60.84,
"pr": 56.89,
"master_div_pr": 1.0694322376516083
}
}
}
{
"category": "Core > Array",
"name": "Reverse",
"results": {
"time": {
"master": 27.08,
"pr": 27.46,
"master_div_pr": 0.986161689730517
}
}
}
{
"category": "Core > Callable",
"name": "Function Callable",
"results": {
"time": {
"master": 304.7,
"pr": 320.9,
"master_div_pr": 0.9495169834839514
}
}
}
{
"category": "Core > Callable",
"name": "Lambda Inline Callable",
"results": {
"time": {
"master": 406.8,
"pr": 425.7,
"master_div_pr": 0.9556025369978859
}
}
}
{
"category": "Core > Callable",
"name": "Lambda Variable Callable",
"results": {
"time": {
"master": 103.2,
"pr": 115.6,
"master_div_pr": 0.8927335640138409
}
}
}
{
"category": "Core > Config File",
"name": "Load",
"results": {
"time": {
"master": 44.96,
"pr": 45.03,
"master_div_pr": 0.998445480790584
}
}
}
{
"category": "Core > Config File",
"name": "Load With Password",
"results": {
"time": {
"master": 46.49,
"pr": 47.78,
"master_div_pr": 0.9730012557555463
}
}
}
{
"category": "Core > Config File",
"name": "Save",
"results": {
"time": {
"master": 47.33,
"pr": 49.87,
"master_div_pr": 0.9490675756968118
}
}
}
{
"category": "Core > Config File",
"name": "Save With Password",
"results": {
"time": {
"master": 51.78,
"pr": 52.22,
"master_div_pr": 0.9915741095365761
}
}
}
{
"category": "Core > Crypto",
"name": "Generate 1g Random Bytes 1k At A Time",
"results": {
"time": {
"master": 1269.0,
"pr": 1261.0,
"master_div_pr": 1.0063441712926249
}
}
}
{
"category": "Core > Crypto",
"name": "Generate 1m Random Bytes 10 At A Time",
"results": {
"time": {
"master": 2343.0,
"pr": 2323.0,
"master_div_pr": 1.0086095566078348
}
}
}
{
"category": "Core > Crypto",
"name": "Generate Rsa 2048",
"results": {
"time": {
"master": 109.5,
"pr": 190.6,
"master_div_pr": 0.574501573976915
}
}
}
{
"category": "Core > Crypto",
"name": "Generate Rsa 4096",
"results": {
"time": {
"master": 1788.0,
"pr": 2015.0,
"master_div_pr": 0.8873449131513648
}
}
}
{
"category": "Core > Node Path",
"name": "Create",
"results": {
"time": {
"master": 17.12,
"pr": 16.94,
"master_div_pr": 1.010625737898465
}
}
}
{
"category": "Core > Object Db",
"name": "12 Threads Full Contention",
"results": {
"time": {
"master": 600.6,
"pr": 643.8,
"master_div_pr": 0.9328984156570365
}
}
}
{
"category": "Core > Object Db",
"name": "12 Threads Half Contention",
"results": {
"time": {
"master": 319.7,
"pr": 332.9,
"master_div_pr": 0.9603484529888856
}
}
}
{
"category": "Core > Object Db",
"name": "12 Threads Little Contention",
"results": {
"time": {
"master": 79.94,
"pr": 84.32,
"master_div_pr": 0.9480550284629982
}
}
}
{
"category": "Core > Object Db",
"name": "12 Threads Slope Contention",
"results": {
"time": {
"master": 353.3,
"pr": 366.0,
"master_div_pr": 0.9653005464480875
}
}
}
{
"category": "Core > Object Db",
"name": "2 Threads Full Contention",
"results": {
"time": {
"master": 63.67,
"pr": 62.03,
"master_div_pr": 1.0264388199258423
}
}
}
{
"category": "Core > Object Db",
"name": "2 Threads Half Contention",
"results": {
"time": {
"master": 41.39,
"pr": 42.39,
"master_div_pr": 0.976409530549658
}
}
}
{
"category": "Core > Object Db",
"name": "2 Threads Little Contention",
"results": {
"time": {
"master": 24.41,
"pr": 25.59,
"master_div_pr": 0.9538882375928097
}
}
}
{
"category": "Core > Object Db",
"name": "4 Threads Full Contention",
"results": {
"time": {
"master": 170.3,
"pr": 169.0,
"master_div_pr": 1.0076923076923077
}
}
}
{
"category": "Core > Object Db",
"name": "4 Threads Half Contention",
"results": {
"time": {
"master": 92.79,
"pr": 93.87,
"master_div_pr": 0.9884947267497604
}
}
}
{
"category": "Core > Object Db",
"name": "4 Threads Little Contention",
"results": {
"time": {
"master": 34.38,
"pr": 35.53,
"master_div_pr": 0.9676329862088376
}
}
}
{
"category": "Core > Object Db",
"name": "4 Threads Slope Contention",
"results": {
"time": {
"master": 128.8,
"pr": 127.3,
"master_div_pr": 1.0117831893165752
}
}
}
{
"category": "Core > Object Db",
"name": "8 Threads Full Contention",
"results": {
"time": {
"master": 377.1,
"pr": 379.0,
"master_div_pr": 0.9949868073878628
}
}
}
{
"category": "Core > Object Db",
"name": "8 Threads Half Contention",
"results": {
"time": {
"master": 201.2,
"pr": 204.3,
"master_div_pr": 0.9848262359275574
}
}
}
{
"category": "Core > Object Db",
"name": "8 Threads Little Contention",
"results": {
"time": {
"master": 55.7,
"pr": 56.27,
"master_div_pr": 0.9898702683490315
}
}
}
{
"category": "Core > Object Db",
"name": "8 Threads Slope Contention",
"results": {
"time": {
"master": 245.1,
"pr": 245.5,
"master_div_pr": 0.9983706720977596
}
}
}
{
"category": "Core > Object Db",
"name": "Single",
"results": {
"time": {
"master": 19.76,
"pr": 20.88,
"master_div_pr": 0.9463601532567051
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randf",
"results": {
"time": {
"master": 105.3,
"pr": 107.3,
"master_div_pr": 0.9813606710158435
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randf Range",
"results": {
"time": {
"master": 333.6,
"pr": 336.6,
"master_div_pr": 0.9910873440285205
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randfn",
"results": {
"time": {
"master": 820.4,
"pr": 826.0,
"master_div_pr": 0.9932203389830508
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randi",
"results": {
"time": {
"master": 95.96,
"pr": 98.25,
"master_div_pr": 0.9766921119592875
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randi Range",
"results": {
"time": {
"master": 134.2,
"pr": 136.7,
"master_div_pr": 0.9817117776152158
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randomize",
"results": {
"time": {
"master": 836.3,
"pr": 834.3,
"master_div_pr": 1.0023972192256982
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randf",
"results": {
"time": {
"master": 267.1,
"pr": 263.9,
"master_div_pr": 1.0121258052292537
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randf Range",
"results": {
"time": {
"master": 294.1,
"pr": 293.2,
"master_div_pr": 1.0030695770804912
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randfn",
"results": {
"time": {
"master": 805.5,
"pr": 811.8,
"master_div_pr": 0.992239467849224
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randi",
"results": {
"time": {
"master": 71.94,
"pr": 73.37,
"master_div_pr": 0.9805097451274362
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randi Range",
"results": {
"time": {
"master": 106.3,
"pr": 108.1,
"master_div_pr": 0.9833487511563368
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randomize",
"results": {
"time": {
"master": 832.1,
"pr": 838.0,
"master_div_pr": 0.9929594272076373
}
}
}
{
"category": "Core > Signal",
"name": "Emission Params 0",
"results": {
"time": {
"master": 198.6,
"pr": 202.5,
"master_div_pr": 0.9807407407407407
}
}
}
{
"category": "Core > Signal",
"name": "Emission Params 1",
"results": {
"time": {
"master": 204.2,
"pr": 207.4,
"master_div_pr": 0.9845708775313403
}
}
}
{
"category": "Core > Signal",
"name": "Emission Params 10",
"results": {
"time": {
"master": 235.6,
"pr": 243.1,
"master_div_pr": 0.9691484985602633
}
}
}
{
"category": "Core > String Name",
"name": "Create",
"results": {
"time": {
"master": 17.83,
"pr": 17.86,
"master_div_pr": 0.9983202687569989
}
}
}
{
"category": "Gdscript > Alloc",
"name": "Deep Tree",
"results": {
"time": {
"master": 218.1,
"pr": 207.4,
"master_div_pr": 1.0515911282545805
}
}
}
{
"category": "Gdscript > Alloc",
"name": "Duplicate",
"results": {
"time": {
"master": 1296.0,
"pr": 1279.0,
"master_div_pr": 1.013291634089132
}
}
}
{
"category": "Gdscript > Alloc",
"name": "Fragmentation",
"results": {
"time": {
"master": 2152.0,
"pr": 2149.0,
"master_div_pr": 1.001395998138669
}
}
}
{
"category": "Gdscript > Alloc",
"name": "Wide Tree",
"results": {
"time": {
"master": 154.3,
"pr": 152.8,
"master_div_pr": 1.0098167539267016
}
}
}
{
"category": "Gdscript > Array",
"name": "Fill Loop",
"results": {
"time": {
"master": 228.2,
"pr": 236.9,
"master_div_pr": 0.9632756437315322
}
}
}
{
"category": "Gdscript > Array",
"name": "Fill Method",
"results": {
"time": {
"master": 82.25,
"pr": 95.3,
"master_div_pr": 0.8630640083945436
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Color Array",
"results": {
"time": {
"master": 133.4,
"pr": 135.6,
"master_div_pr": 0.9837758112094396
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Float 32 Array",
"results": {
"time": {
"master": 103.4,
"pr": 105.3,
"master_div_pr": 0.9819563152896487
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Float 64 Array",
"results": {
"time": {
"master": 106.2,
"pr": 108.4,
"master_div_pr": 0.9797047970479704
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Int 32 Array",
"results": {
"time": {
"master": 81.63,
"pr": 84.26,
"master_div_pr": 0.968787087586043
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Int 64 Array",
"results": {
"time": {
"master": 83.94,
"pr": 85.46,
"master_div_pr": 0.9822139012403464
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed String Array",
"results": {
"time": {
"master": 654.4,
"pr": 665.9,
"master_div_pr": 0.9827301396606097
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Vector 2 Array",
"results": {
"time": {
"master": 113.7,
"pr": 112.7,
"master_div_pr": 1.0088731144631766
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Vector 3 Array",
"results": {
"time": {
"master": 130.3,
"pr": 126.4,
"master_div_pr": 1.0308544303797469
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Color Array",
"results": {
"time": {
"master": 202.6,
"pr": 202.3,
"master_div_pr": 1.0014829461196242
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Float Array",
"results": {
"time": {
"master": 170.6,
"pr": 171.5,
"master_div_pr": 0.9947521865889213
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Int Array",
"results": {
"time": {
"master": 160.8,
"pr": 160.4,
"master_div_pr": 1.0024937655860349
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed String Array",
"results": {
"time": {
"master": 767.7,
"pr": 792.6,
"master_div_pr": 0.9685844057532172
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Vector 2 Array",
"results": {
"time": {
"master": 187.1,
"pr": 188.1,
"master_div_pr": 0.9946836788942052
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Vector 3 Array",
"results": {
"time": {
"master": 198.4,
"pr": 196.1,
"master_div_pr": 1.0117287098419174
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped Color Array",
"results": {
"time": {
"master": 281.8,
"pr": 293.5,
"master_div_pr": 0.9601362862010222
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped Float Array",
"results": {
"time": {
"master": 249.0,
"pr": 252.6,
"master_div_pr": 0.985748218527316
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped Int Array",
"results": {
"time": {
"master": 241.6,
"pr": 248.6,
"master_div_pr": 0.9718423169750603
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped String Array",
"results": {
"time": {
"master": 881.3,
"pr": 875.4,
"master_div_pr": 1.006739776102353
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped Vector 2 Array",
"results": {
"time": {
"master": 270.1,
"pr": 279.5,
"master_div_pr": 0.9663685152057246
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped Vector 3 Array",
"results": {
"time": {
"master": 280.6,
"pr": 285.9,
"master_div_pr": 0.9814620496677161
}
}
}
{
"category": "Gdscript > Binary Trees",
"name": "Binary Trees 13",
"results": {
"time": {
"master": 502.1,
"pr": 506.0,
"master_div_pr": 0.9922924901185771
}
}
}
{
"category": "Gdscript > Binary Trees",
"name": "Binary Trees 15",
"results": {
"time": {
"master": 2367.0,
"pr": 2396.0,
"master_div_pr": 0.9878964941569283
}
}
}
{
"category": "Gdscript > Control",
"name": "Control",
"results": {
"time": {
"master": 0.009667,
"pr": 0.005667,
"master_div_pr": 1.7058408328921828
}
}
}
{
"category": "Gdscript > For Loop",
"name": "For Loop Add",
"results": {
"time": {
"master": 8.094,
"pr": 8.074,
"master_div_pr": 1.0024770869457518
}
}
}
{
"category": "Gdscript > For Loop",
"name": "For Loop Call",
"results": {
"time": {
"master": 58.58,
"pr": 59.45,
"master_div_pr": 0.9853658536585365
}
}
}
{
"category": "Gdscript > Hello World",
"name": "Hello World",
"results": {
"time": {
"master": 0.09233,
"pr": 0.06433,
"master_div_pr": 1.4352557127312295
}
}
}
{
"category": "Gdscript > Lambda Performance",
"name": "Lambda Call",
"results": {
"time": {
"master": 52.13,
"pr": 58.24,
"master_div_pr": 0.8950892857142857
}
}
}
{
"category": "Gdscript > Mandelbrot Set",
"name": "Mandelbrot Set",
"results": {
"time": {
"master": 2348.0,
"pr": 2288.0,
"master_div_pr": 1.0262237762237763
}
}
}
{
"category": "Gdscript > Merkle Trees",
"name": "Merkle Trees 13",
"results": {
"time": {
"master": 1576.0,
"pr": 1691.0,
"master_div_pr": 0.9319929036073329
}
}
}
{
"category": "Gdscript > Merkle Trees",
"name": "Merkle Trees 15",
"results": {
"time": {
"master": 7791.0,
"pr": 8203.0,
"master_div_pr": 0.9497744727538705
}
}
}
{
"category": "Gdscript > Nbody",
"name": "Nbody 1 000 000",
"results": {
"time": {
"master": 5789.0,
"pr": 5770.0,
"master_div_pr": 1.0032928942807626
}
}
}
{
"category": "Gdscript > Nbody",
"name": "Nbody 500 000",
"results": {
"time": {
"master": 2898.0,
"pr": 2885.0,
"master_div_pr": 1.0045060658578857
}
}
}
{
"category": "Gdscript > Spectral Norm",
"name": "Spectral Norm 100",
"results": {
"time": {
"master": 48.34,
"pr": 47.69,
"master_div_pr": 1.0136296917592789
}
}
}
{
"category": "Gdscript > Spectral Norm",
"name": "Spectral Norm 1000",
"results": {
"time": {
"master": 4602.0,
"pr": 4454.0,
"master_div_pr": 1.0332285585990122
}
}
}
{
"category": "Gdscript > Spectral Norm",
"name": "Spectral Norm 500",
"results": {
"time": {
"master": 1156.0,
"pr": 1121.0,
"master_div_pr": 1.031222123104371
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Md 5 Buffer Empty",
"results": {
"time": {
"master": 214.3,
"pr": 217.1,
"master_div_pr": 0.9871027176416399
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Md 5 Buffer Non Empty",
"results": {
"time": {
"master": 659.4,
"pr": 661.0,
"master_div_pr": 0.9975794251134644
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Md 5 Text Empty",
"results": {
"time": {
"master": 170.8,
"pr": 173.8,
"master_div_pr": 0.9827387802071347
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Md 5 Text Non Empty",
"results": {
"time": {
"master": 617.0,
"pr": 618.1,
"master_div_pr": 0.9982203526937389
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 1 Buffer Empty",
"results": {
"time": {
"master": 191.0,
"pr": 195.8,
"master_div_pr": 0.975485188968335
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 1 Buffer Non Empty",
"results": {
"time": {
"master": 566.3,
"pr": 571.1,
"master_div_pr": 0.991595167221152
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 1 Text Empty",
"results": {
"time": {
"master": 151.9,
"pr": 151.9,
"master_div_pr": 1
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 1 Text Non Empty",
"results": {
"time": {
"master": 521.1,
"pr": 525.7,
"master_div_pr": 0.9912497622217995
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 256 Buffer Empty",
"results": {
"time": {
"master": 278.6,
"pr": 279.1,
"master_div_pr": 0.9982085274095306
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 256 Buffer Non Empty",
"results": {
"time": {
"master": 910.5,
"pr": 893.9,
"master_div_pr": 1.0185703098780625
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 256 Text Empty",
"results": {
"time": {
"master": 237.1,
"pr": 238.3,
"master_div_pr": 0.9949643306756188
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 256 Text Non Empty",
"results": {
"time": {
"master": 869.7,
"pr": 861.8,
"master_div_pr": 1.009166860060339
}
}
}
{
"category": "Gdscript > String Format",
"name": "Complex Variable Concatenate",
"results": {
"time": {
"master": 2042.0,
"pr": 2038.0,
"master_div_pr": 1.0019627085377822
}
}
}
{
"category": "Gdscript > String Format",
"name": "Complex Variable Method",
"results": {
"time": {
"master": 3792.0,
"pr": 5933.0,
"master_div_pr": 0.6391370301702343
}
}
}
{
"category": "Gdscript > String Format",
"name": "Complex Variable Percent",
"results": {
"time": {
"master": 2881.0,
"pr": 4668.0,
"master_div_pr": 0.6171808054841473
}
}
}
{
"category": "Gdscript > String Format",
"name": "No Op Constant Method",
"results": {
"time": {
"master": 182.8,
"pr": 187.2,
"master_div_pr": 0.9764957264957266
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Constant Concatenate",
"results": {
"time": {
"master": 2.989,
"pr": 2.961,
"master_div_pr": 1.0094562647754137
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Constant Method",
"results": {
"time": {
"master": 793.5,
"pr": 803.9,
"master_div_pr": 0.9870630675457147
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Constant Method Constant Dict",
"results": {
"time": {
"master": 517.3,
"pr": 532.6,
"master_div_pr": 0.9712730003755162
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Constant Percent",
"results": {
"time": {
"master": 2.86,
"pr": 2.97,
"master_div_pr": 0.9629629629629629
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Variable Concatenate",
"results": {
"time": {
"master": 202.1,
"pr": 206.5,
"master_div_pr": 0.9786924939467312
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Variable Method",
"results": {
"time": {
"master": 784.8,
"pr": 814.5,
"master_div_pr": 0.9635359116022099
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Variable Percent",
"results": {
"time": {
"master": 442.0,
"pr": 459.7,
"master_div_pr": 0.961496628235806
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Begins With",
"results": {
"time": {
"master": 10.85,
"pr": 11.4,
"master_div_pr": 0.9517543859649122
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Bigrams",
"results": {
"time": {
"master": 639.4,
"pr": 677.5,
"master_div_pr": 0.9437638376383763
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Capitalize",
"results": {
"time": {
"master": 1101.0,
"pr": 1087.0,
"master_div_pr": 1.012879484820607
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Casecmp To",
"results": {
"time": {
"master": 8.588,
"pr": 8.766,
"master_div_pr": 0.9796942733287701
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Contains",
"results": {
"time": {
"master": 9.356,
"pr": 9.408,
"master_div_pr": 0.9944727891156463
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Contains Gdscript In",
"results": {
"time": {
"master": 2.986,
"pr": 3.038,
"master_div_pr": 0.9828834759710338
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Count",
"results": {
"time": {
"master": 54.6,
"pr": 55.43,
"master_div_pr": 0.9850261591196103
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Countn",
"results": {
"time": {
"master": 220.2,
"pr": 216.1,
"master_div_pr": 1.018972697825081
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Ends With",
"results": {
"time": {
"master": 10.79,
"pr": 10.56,
"master_div_pr": 1.021780303030303
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Find",
"results": {
"time": {
"master": 42.22,
"pr": 42.48,
"master_div_pr": 0.993879472693032
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Findn",
"results": {
"time": {
"master": 57.48,
"pr": 60.61,
"master_div_pr": 0.948358356706814
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Get Slice",
"results": {
"time": {
"master": 78.34,
"pr": 78.05,
"master_div_pr": 1.0037155669442666
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Get Slice Count",
"results": {
"time": {
"master": 22.65,
"pr": 23.7,
"master_div_pr": 0.9556962025316456
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Humanize Size",
"results": {
"time": {
"master": 937.8,
"pr": 923.8,
"master_div_pr": 1.015154795410262
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Insert",
"results": {
"time": {
"master": 68.33,
"pr": 67.79,
"master_div_pr": 1.0079657766632246
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Is Valid Filename",
"results": {
"time": {
"master": 24.78,
"pr": 24.49,
"master_div_pr": 1.0118415679869335
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Lpad",
"results": {
"time": {
"master": 221.8,
"pr": 226.2,
"master_div_pr": 0.9805481874447393
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Naturalnocasecmp To",
"results": {
"time": {
"master": 11.99,
"pr": 12.01,
"master_div_pr": 0.9983347210657786
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Nocasecmp To",
"results": {
"time": {
"master": 33.6,
"pr": 33.63,
"master_div_pr": 0.9991079393398751
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Pad Decimals",
"results": {
"time": {
"master": 485.3,
"pr": 494.4,
"master_div_pr": 0.9815938511326862
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Pad Decimals Pre Constructed",
"results": {
"time": {
"master": 81.44,
"pr": 112.2,
"master_div_pr": 0.7258467023172905
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Pad Zeros",
"results": {
"time": {
"master": 336.0,
"pr": 371.1,
"master_div_pr": 0.9054163298302343
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Pad Zeros Pre Constructed",
"results": {
"time": {
"master": 223.9,
"pr": 242.2,
"master_div_pr": 0.9244426094137077
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Rfind",
"results": {
"time": {
"master": 43.36,
"pr": 43.45,
"master_div_pr": 0.997928653624856
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Rfindn",
"results": {
"time": {
"master": 151.8,
"pr": 152.7,
"master_div_pr": 0.9941060903732811
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Rpad",
"results": {
"time": {
"master": 177.1,
"pr": 177.3,
"master_div_pr": 0.9988719684151155
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Rsplit",
"results": {
"time": {
"master": 442.5,
"pr": 444.7,
"master_div_pr": 0.9950528446143467
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Similarity",
"results": {
"time": {
"master": 31.68,
"pr": 25.55,
"master_div_pr": 1.2399217221135028
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Simplify Path",
"results": {
"time": {
"master": 1277.0,
"pr": 1318.0,
"master_div_pr": 0.9688922610015175
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Split",
"results": {
"time": {
"master": 424.1,
"pr": 427.4,
"master_div_pr": 0.9922788956481049
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Split Floats",
"results": {
"time": {
"master": 323.2,
"pr": 340.1,
"master_div_pr": 0.9503087327256688
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Substr",
"results": {
"time": {
"master": 70.75,
"pr": 68.82,
"master_div_pr": 1.0280441732054637
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Camel Case",
"results": {
"time": {
"master": 517.9,
"pr": 508.4,
"master_div_pr": 1.0186860739575139
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Lower",
"results": {
"time": {
"master": 165.6,
"pr": 177.1,
"master_div_pr": 0.935064935064935
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Pascal Case",
"results": {
"time": {
"master": 1280.0,
"pr": 1264.0,
"master_div_pr": 1.0126582278481013
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Snake Case",
"results": {
"time": {
"master": 930.7,
"pr": 909.0,
"master_div_pr": 1.0238723872387239
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Utf 16 Buffer",
"results": {
"time": {
"master": 161.9,
"pr": 163.8,
"master_div_pr": 0.9884004884004883
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Utf 32 Buffer",
"results": {
"time": {
"master": 112.3,
"pr": 113.0,
"master_div_pr": 0.9938053097345132
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Utf 8 Buffer",
"results": {
"time": {
"master": 160.1,
"pr": 167.5,
"master_div_pr": 0.955820895522388
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Wchar Buffer",
"results": {
"time": {
"master": 162.6,
"pr": 163.0,
"master_div_pr": 0.9975460122699387
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Uri Decode",
"results": {
"time": {
"master": 548.6,
"pr": 553.2,
"master_div_pr": 0.9916847433116414
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Uri Encode",
"results": {
"time": {
"master": 427.3,
"pr": 437.4,
"master_div_pr": 0.9769090077732053
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Validate Filename",
"results": {
"time": {
"master": 336.1,
"pr": 329.4,
"master_div_pr": 1.020340012143291
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Validate Node Name",
"results": {
"time": {
"master": 79.31,
"pr": 79.74,
"master_div_pr": 0.9946074742914472
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Xml Escape",
"results": {
"time": {
"master": 473.1,
"pr": 469.3,
"master_div_pr": 1.008097165991903
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Xml Unescape",
"results": {
"time": {
"master": 80.28,
"pr": 80.73,
"master_div_pr": 0.9944258639910813
}
}
}
{
"category": "Math > Convex Hull 3d",
"name": "Both Clean And Simplify",
"results": {
"time": {
"master": 4982.0,
"pr": 4960.0,
"master_div_pr": 1.0044354838709677
}
}
}
{
"category": "Math > Convex Hull 3d",
"name": "Only Clean",
"results": {
"time": {
"master": 4996.0,
"pr": 4948.0,
"master_div_pr": 1.0097008892481811
}
}
}
{
"category": "Math > Convex Hull 3d",
"name": "Only Simplify",
"results": {
"time": {
"master": 19.7,
"pr": 20.29,
"master_div_pr": 0.9709216362740266
}
}
}
{
"category": "Math > Convex Hull 3d",
"name": "Quickest",
"results": {
"time": {
"master": 21.31,
"pr": 21.42,
"master_div_pr": 0.9948646125116712
}
}
}
{
"category": "Math > Delaunay 2d",
"name": "Delaunay 2d",
"results": {
"time": {
"master": 105.5,
"pr": 105.6,
"master_div_pr": 0.9990530303030304
}
}
}
{
"category": "Math > Delaunay 3d",
"name": "Delaunay 3d",
"results": {
"time": {
"master": 588.4,
"pr": 591.4,
"master_div_pr": 0.9949272911734867
}
}
}
{
"category": "Math > Expression",
"name": "Parse 20 Complex Expressions Cold",
"results": {
"time": {
"master": 290.5,
"pr": 290.2,
"master_div_pr": 1.0010337698139216
}
}
}
{
"category": "Math > Expression",
"name": "Parse 20 Complex Expressions With Cached Parse",
"results": {
"time": {
"master": 289.9,
"pr": 289.2,
"master_div_pr": 1.002420470262794
}
}
}
{
"category": "Math > Expression",
"name": "Parse 20 Complex Expressions With Cached Parse Then Execute",
"results": {
"time": {
"master": 293.9,
"pr": 291.3,
"master_div_pr": 1.0089255063508409
}
}
}
{
"category": "Math > Noise",
"name": "Cellular",
"results": {
"time": {
"master": 1115.0,
"pr": 1142.0,
"master_div_pr": 0.9763572679509632
}
}
}
{
"category": "Math > Noise",
"name": "Perlin",
"results": {
"time": {
"master": 372.1,
"pr": 376.6,
"master_div_pr": 0.9880509824747743
}
}
}
{
"category": "Math > Noise",
"name": "Simplex",
"results": {
"time": {
"master": 410.5,
"pr": 407.0,
"master_div_pr": 1.0085995085995085
}
}
}
{
"category": "Math > Noise",
"name": "Simplex Smooth",
"results": {
"time": {
"master": 484.4,
"pr": 474.2,
"master_div_pr": 1.0215099114297765
}
}
}
{
"category": "Math > Noise",
"name": "Value",
"results": {
"time": {
"master": 337.3,
"pr": 335.1,
"master_div_pr": 1.006565204416592
}
}
}
{
"category": "Math > Noise",
"name": "Value Cubic",
"results": {
"time": {
"master": 710.6,
"pr": 691.6,
"master_div_pr": 1.0274725274725274
}
}
}
{
"category": "Math > Triangulate",
"name": "Triangulate",
"results": {
"time": {
"master": 84.14,
"pr": 85.38,
"master_div_pr": 0.9854766924338253
}
}
}
{
"category": "Navigation > Astar 2d",
"name": "Astar 5000 Times 5000 Points",
"results": {
"time": {
"master": 480.6,
"pr": 480.1,
"master_div_pr": 1.0010414496979796
}
}
}
{
"category": "Navigation > Astar 3d",
"name": "Astar 1000 Times 1000 Points",
"results": {
"time": {
"master": 559.1,
"pr": 544.3,
"master_div_pr": 1.0271908873782842
}
}
}
{
"category": "Navigation > Moving Agents 2d",
"name": "1000 Moving Agents",
"results": {
"render_cpu": {
"master": 0.07043,
"pr": 0.07659,
"master_div_pr": 0.9195717456587023
},
"time": {
"master": 0.028,
"pr": 0.02533,
"master_div_pr": 1.1054086063955784
}
}
}
{
"category": "Navigation > Moving Agents 3d",
"name": "1000 Moving Agents",
"results": {
"render_cpu": {
"master": 0.02577,
"pr": 0.02762,
"master_div_pr": 0.9330195510499639
},
"time": {
"master": 0.023,
"pr": 0.01467,
"master_div_pr": 1.5678254942058623
}
}
}
{
"category": "Navigation > Navigation 2d",
"name": "Navigation 10 000 Random Paths",
"results": {
"time": {
"master": 10.44,
"pr": 7.909,
"master_div_pr": 1.3200151725881906
}
}
}
{
"category": "Navigation > Navigation 3d",
"name": "Navigation 10 000 Random Paths",
"results": {
"time": {
"master": 7.932,
"pr": 8.869,
"master_div_pr": 0.89435111060999
}
}
}
{
"category": "Scene Nodes > Add Children",
"name": "Add Children With Same Name",
"results": {
"time": {
"master": 74.39,
"pr": 75.6,
"master_div_pr": 0.9839947089947091
}
}
}
{
"category": "Scene Nodes > Add Children",
"name": "Add Children Without Name",
"results": {
"time": {
"master": 88.85,
"pr": 88.03,
"master_div_pr": 1.00931500624787
}
}
}
{
"category": "Scene Nodes > Delete Children",
"name": "Delete Children In Order",
"results": {
"time": {
"master": 8.667,
"pr": 8.732,
"master_div_pr": 0.9925561154374715
}
}
}
{
"category": "Scene Nodes > Delete Children",
"name": "Delete Children Random Order",
"results": {
"time": {
"master": 20.1,
"pr": 19.15,
"master_div_pr": 1.049608355091384
}
}
}
{
"category": "Scene Nodes > Delete Children",
"name": "Delete Children Reverse Order",
"results": {
"time": {
"master": 8.325,
"pr": 8.624,
"master_div_pr": 0.9653293135435991
}
}
}
{
"category": "Scene Nodes > Get Node",
"name": "Get Node",
"results": {
"time": {
"master": 34.09,
"pr": 33.84,
"master_div_pr": 1.007387706855792
}
}
}
{
"category": "Scene Nodes > Move Children",
"name": "Move Children",
"results": {
"time": {
"master": 842.8,
"pr": 889.9,
"master_div_pr": 0.9470727047982919
}
}
}
{
"category": "Viewport > Activation",
"name": "Activate 1024 Viewports",
"results": {
"time": {
"master": 269.9,
"pr": 324.4,
"master_div_pr": 0.8319975339087546
}
}
}
{
"category": "Viewport > Activation",
"name": "Activate 256 Viewports",
"results": {
"time": {
"master": 69.34,
"pr": 64.95,
"master_div_pr": 1.067590454195535
}
}
}
{
"category": "Viewport > Activation",
"name": "Activate 64 Viewports",
"results": {
"time": {
"master": 22.35,
"pr": 23.71,
"master_div_pr": 0.9426402361872628
}
}
}
{
"category": "Viewport > Allocation",
"name": "Create 1024 Viewports",
"results": {
"time": {
"master": 151.6,
"pr": 146.5,
"master_div_pr": 1.0348122866894198
}
}
}
{
"category": "Viewport > Allocation",
"name": "Create 256 Viewports",
"results": {
"time": {
"master": 22.55,
"pr": 23.38,
"master_div_pr": 0.9644995722840035
}
}
}
{
"category": "Viewport > Allocation",
"name": "Create 64 Viewports",
"results": {
"time": {
"master": 8.276,
"pr": 10.59,
"master_div_pr": 0.7814919735599622
}
}
}
String format test is significantly impacted. |
Diving a little deeper, I tried removing all ResultBase is previous commit. {
"category": "Asset Import Export > Runtime",
"name": "Export Gltf",
"results": {
"time": {
"base": 93.68,
"nohint": 89.8,
"base_div_nohint": 1.0432071269487753
}
}
}
{
"category": "Asset Import Export > Runtime",
"name": "Import Fbx",
"results": {
"time": {
"base": 491.2,
"nohint": 483.0,
"base_div_nohint": 1.0169772256728777
}
}
}
{
"category": "Asset Import Export > Runtime",
"name": "Import Gltf",
"results": {
"time": {
"base": 46.4,
"nohint": 46.82,
"base_div_nohint": 0.9910294745835113
}
}
}
{
"category": "Asset Import Export > Runtime",
"name": "Import Ogg Audio",
"results": {
"time": {
"base": 13.03,
"nohint": 6.305,
"base_div_nohint": 2.0666137985725617
}
}
}
{
"category": "Asset Import Export > Runtime",
"name": "Import Webp Images",
"results": {
"time": {
"base": 1046.0,
"nohint": 1021.0,
"base_div_nohint": 1.0244857982370226
}
}
}
{
"category": "Core > Array",
"name": "Append Array",
"results": {
"time": {
"base": 349.1,
"nohint": 302.2,
"base_div_nohint": 1.155195234943746
}
}
}
{
"category": "Core > Array",
"name": "Bsearch",
"results": {
"time": {
"base": 104.7,
"nohint": 143.0,
"base_div_nohint": 0.7321678321678322
}
}
}
{
"category": "Core > Array",
"name": "Fill",
"results": {
"time": {
"base": 53.77,
"nohint": 55.14,
"base_div_nohint": 0.9751541530649257
}
}
}
{
"category": "Core > Array",
"name": "Reverse",
"results": {
"time": {
"base": 34.34,
"nohint": 37.07,
"base_div_nohint": 0.9263555435662262
}
}
}
{
"category": "Core > Callable",
"name": "Function Callable",
"results": {
"time": {
"base": 341.7,
"nohint": 348.6,
"base_div_nohint": 0.9802065404475042
}
}
}
{
"category": "Core > Callable",
"name": "Lambda Inline Callable",
"results": {
"time": {
"base": 443.9,
"nohint": 436.7,
"base_div_nohint": 1.016487291046485
}
}
}
{
"category": "Core > Callable",
"name": "Lambda Variable Callable",
"results": {
"time": {
"base": 116.5,
"nohint": 114.8,
"base_div_nohint": 1.014808362369338
}
}
}
{
"category": "Core > Config File",
"name": "Load",
"results": {
"time": {
"base": 47.05,
"nohint": 47.85,
"base_div_nohint": 0.9832810867293625
}
}
}
{
"category": "Core > Config File",
"name": "Load With Password",
"results": {
"time": {
"base": 49.28,
"nohint": 49.01,
"base_div_nohint": 1.0055090797796369
}
}
}
{
"category": "Core > Config File",
"name": "Save",
"results": {
"time": {
"base": 50.76,
"nohint": 50.66,
"base_div_nohint": 1.0019739439399922
}
}
}
{
"category": "Core > Config File",
"name": "Save With Password",
"results": {
"time": {
"base": 54.96,
"nohint": 53.21,
"base_div_nohint": 1.0328885547829356
}
}
}
{
"category": "Core > Crypto",
"name": "Generate 1g Random Bytes 1k At A Time",
"results": {
"time": {
"base": 1251.0,
"nohint": 1239.0,
"base_div_nohint": 1.0096852300242132
}
}
}
{
"category": "Core > Crypto",
"name": "Generate 1m Random Bytes 10 At A Time",
"results": {
"time": {
"base": 2208.0,
"nohint": 2208.0,
"base_div_nohint": 1
}
}
}
{
"category": "Core > Crypto",
"name": "Generate Rsa 2048",
"results": {
"time": {
"base": 99.02,
"nohint": 283.0,
"base_div_nohint": 0.34989399293286216
}
}
}
{
"category": "Core > Crypto",
"name": "Generate Rsa 4096",
"results": {
"time": {
"base": 2328.0,
"nohint": 1182.0,
"base_div_nohint": 1.9695431472081217
}
}
}
{
"category": "Core > Node Path",
"name": "Create",
"results": {
"time": {
"base": 17.34,
"nohint": 16.71,
"base_div_nohint": 1.03770197486535
}
}
}
{
"category": "Core > Object Db",
"name": "12 Threads Full Contention",
"results": {
"time": {
"base": 582.3,
"nohint": 651.9,
"base_div_nohint": 0.8932351587666819
}
}
}
{
"category": "Core > Object Db",
"name": "12 Threads Half Contention",
"results": {
"time": {
"base": 309.6,
"nohint": 339.6,
"base_div_nohint": 0.911660777385159
}
}
}
{
"category": "Core > Object Db",
"name": "12 Threads Little Contention",
"results": {
"time": {
"base": 78.94,
"nohint": 86.15,
"base_div_nohint": 0.9163087637840974
}
}
}
{
"category": "Core > Object Db",
"name": "12 Threads Slope Contention",
"results": {
"time": {
"base": 352.9,
"nohint": 375.2,
"base_div_nohint": 0.9405650319829424
}
}
}
{
"category": "Core > Object Db",
"name": "2 Threads Full Contention",
"results": {
"time": {
"base": 62.17,
"nohint": 65.11,
"base_div_nohint": 0.9548456458301336
}
}
}
{
"category": "Core > Object Db",
"name": "2 Threads Half Contention",
"results": {
"time": {
"base": 42.67,
"nohint": 45.39,
"base_div_nohint": 0.9400749063670413
}
}
}
{
"category": "Core > Object Db",
"name": "2 Threads Little Contention",
"results": {
"time": {
"base": 26.07,
"nohint": 27.48,
"base_div_nohint": 0.9486899563318777
}
}
}
{
"category": "Core > Object Db",
"name": "4 Threads Full Contention",
"results": {
"time": {
"base": 175.1,
"nohint": 175.3,
"base_div_nohint": 0.9988590986879634
}
}
}
{
"category": "Core > Object Db",
"name": "4 Threads Half Contention",
"results": {
"time": {
"base": 100.1,
"nohint": 100.3,
"base_div_nohint": 0.9980059820538385
}
}
}
{
"category": "Core > Object Db",
"name": "4 Threads Little Contention",
"results": {
"time": {
"base": 37.12,
"nohint": 37.91,
"base_div_nohint": 0.9791611711949354
}
}
}
{
"category": "Core > Object Db",
"name": "4 Threads Slope Contention",
"results": {
"time": {
"base": 134.5,
"nohint": 133.7,
"base_div_nohint": 1.005983545250561
}
}
}
{
"category": "Core > Object Db",
"name": "8 Threads Full Contention",
"results": {
"time": {
"base": 373.6,
"nohint": 398.1,
"base_div_nohint": 0.9384576739512686
}
}
}
{
"category": "Core > Object Db",
"name": "8 Threads Half Contention",
"results": {
"time": {
"base": 198.2,
"nohint": 208.9,
"base_div_nohint": 0.9487793202489229
}
}
}
{
"category": "Core > Object Db",
"name": "8 Threads Little Contention",
"results": {
"time": {
"base": 59.2,
"nohint": 60.97,
"base_div_nohint": 0.9709693291782845
}
}
}
{
"category": "Core > Object Db",
"name": "8 Threads Slope Contention",
"results": {
"time": {
"base": 240.8,
"nohint": 251.4,
"base_div_nohint": 0.9578361177406524
}
}
}
{
"category": "Core > Object Db",
"name": "Single",
"results": {
"time": {
"base": 21.66,
"nohint": 22.67,
"base_div_nohint": 0.9554477282752536
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randf",
"results": {
"time": {
"base": 106.4,
"nohint": 107.0,
"base_div_nohint": 0.994392523364486
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randf Range",
"results": {
"time": {
"base": 349.1,
"nohint": 355.9,
"base_div_nohint": 0.9808935094127565
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randfn",
"results": {
"time": {
"base": 826.2,
"nohint": 835.7,
"base_div_nohint": 0.9886322843125523
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randi",
"results": {
"time": {
"base": 96.8,
"nohint": 97.64,
"base_div_nohint": 0.9913969684555509
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randi Range",
"results": {
"time": {
"base": 137.5,
"nohint": 138.4,
"base_div_nohint": 0.9934971098265896
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randomize",
"results": {
"time": {
"base": 836.2,
"nohint": 827.9,
"base_div_nohint": 1.0100253653822926
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randf",
"results": {
"time": {
"base": 263.4,
"nohint": 264.7,
"base_div_nohint": 0.9950887797506611
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randf Range",
"results": {
"time": {
"base": 293.9,
"nohint": 293.4,
"base_div_nohint": 1.0017041581458759
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randfn",
"results": {
"time": {
"base": 812.3,
"nohint": 805.8,
"base_div_nohint": 1.008066517746339
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randi",
"results": {
"time": {
"base": 71.82,
"nohint": 72.16,
"base_div_nohint": 0.9952882483370288
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randi Range",
"results": {
"time": {
"base": 110.5,
"nohint": 108.8,
"base_div_nohint": 1.015625
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Randomize",
"results": {
"time": {
"base": 854.4,
"nohint": 861.0,
"base_div_nohint": 0.9923344947735191
}
}
}
{
"category": "Core > Signal",
"name": "Emission Params 0",
"results": {
"time": {
"base": 215.5,
"nohint": 211.0,
"base_div_nohint": 1.0213270142180095
}
}
}
{
"category": "Core > Signal",
"name": "Emission Params 1",
"results": {
"time": {
"base": 216.9,
"nohint": 210.9,
"base_div_nohint": 1.0284495021337126
}
}
}
{
"category": "Core > Signal",
"name": "Emission Params 10",
"results": {
"time": {
"base": 249.0,
"nohint": 257.3,
"base_div_nohint": 0.9677419354838709
}
}
}
{
"category": "Core > String Name",
"name": "Create",
"results": {
"time": {
"base": 18.38,
"nohint": 18.17,
"base_div_nohint": 1.011557512383049
}
}
}
{
"category": "Gdscript > Alloc",
"name": "Deep Tree",
"results": {
"time": {
"base": 206.9,
"nohint": 211.1,
"base_div_nohint": 0.9801042160113691
}
}
}
{
"category": "Gdscript > Alloc",
"name": "Duplicate",
"results": {
"time": {
"base": 1476.0,
"nohint": 1433.0,
"base_div_nohint": 1.030006978367062
}
}
}
{
"category": "Gdscript > Alloc",
"name": "Fragmentation",
"results": {
"time": {
"base": 2273.0,
"nohint": 2249.0,
"base_div_nohint": 1.0106714095153402
}
}
}
{
"category": "Gdscript > Alloc",
"name": "Wide Tree",
"results": {
"time": {
"base": 158.2,
"nohint": 161.8,
"base_div_nohint": 0.9777503090234857
}
}
}
{
"category": "Gdscript > Array",
"name": "Fill Loop",
"results": {
"time": {
"base": 253.7,
"nohint": 269.8,
"base_div_nohint": 0.9403261675315048
}
}
}
{
"category": "Gdscript > Array",
"name": "Fill Method",
"results": {
"time": {
"base": 112.6,
"nohint": 98.93,
"base_div_nohint": 1.1381785100576163
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Color Array",
"results": {
"time": {
"base": 151.3,
"nohint": 158.2,
"base_div_nohint": 0.9563843236409609
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Float 32 Array",
"results": {
"time": {
"base": 108.2,
"nohint": 109.9,
"base_div_nohint": 0.9845313921747042
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Float 64 Array",
"results": {
"time": {
"base": 112.5,
"nohint": 109.5,
"base_div_nohint": 1.0273972602739727
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Int 32 Array",
"results": {
"time": {
"base": 83.69,
"nohint": 82.42,
"base_div_nohint": 1.0154088813394806
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Int 64 Array",
"results": {
"time": {
"base": 88.75,
"nohint": 86.79,
"base_div_nohint": 1.0225832469178475
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed String Array",
"results": {
"time": {
"base": 725.8,
"nohint": 683.3,
"base_div_nohint": 1.0621981560076101
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Vector 2 Array",
"results": {
"time": {
"base": 121.5,
"nohint": 122.2,
"base_div_nohint": 0.9942716857610474
}
}
}
{
"category": "Gdscript > Array",
"name": "Packed Vector 3 Array",
"results": {
"time": {
"base": 139.6,
"nohint": 138.1,
"base_div_nohint": 1.0108616944243303
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Color Array",
"results": {
"time": {
"base": 224.8,
"nohint": 233.3,
"base_div_nohint": 0.9635662237462495
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Float Array",
"results": {
"time": {
"base": 178.1,
"nohint": 185.2,
"base_div_nohint": 0.9616630669546437
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Int Array",
"results": {
"time": {
"base": 167.3,
"nohint": 170.7,
"base_div_nohint": 0.9800820152314003
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed String Array",
"results": {
"time": {
"base": 831.1,
"nohint": 809.5,
"base_div_nohint": 1.0266831377393453
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Vector 2 Array",
"results": {
"time": {
"base": 204.5,
"nohint": 205.2,
"base_div_nohint": 0.996588693957115
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Vector 3 Array",
"results": {
"time": {
"base": 210.3,
"nohint": 215.2,
"base_div_nohint": 0.9772304832713755
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped Color Array",
"results": {
"time": {
"base": 308.5,
"nohint": 320.7,
"base_div_nohint": 0.9619582164016215
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped Float Array",
"results": {
"time": {
"base": 253.3,
"nohint": 259.2,
"base_div_nohint": 0.9772376543209877
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped Int Array",
"results": {
"time": {
"base": 252.7,
"nohint": 257.1,
"base_div_nohint": 0.9828860365616491
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped String Array",
"results": {
"time": {
"base": 904.0,
"nohint": 899.8,
"base_div_nohint": 1.0046677039342076
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped Vector 2 Array",
"results": {
"time": {
"base": 284.9,
"nohint": 287.8,
"base_div_nohint": 0.9899235580264071
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped Vector 3 Array",
"results": {
"time": {
"base": 302.0,
"nohint": 298.0,
"base_div_nohint": 1.0134228187919463
}
}
}
{
"category": "Gdscript > Binary Trees",
"name": "Binary Trees 13",
"results": {
"time": {
"base": 533.0,
"nohint": 542.4,
"base_div_nohint": 0.9826696165191741
}
}
}
{
"category": "Gdscript > Binary Trees",
"name": "Binary Trees 15",
"results": {
"time": {
"base": 2486.0,
"nohint": 2579.0,
"base_div_nohint": 0.9639395114385421
}
}
}
{
"category": "Gdscript > Control",
"name": "Control",
"results": {
"time": {
"base": 0.006,
"nohint": 0.006,
"base_div_nohint": 1
}
}
}
{
"category": "Gdscript > For Loop",
"name": "For Loop Add",
"results": {
"time": {
"base": 8.027,
"nohint": 8.302,
"base_div_nohint": 0.9668754516983858
}
}
}
{
"category": "Gdscript > For Loop",
"name": "For Loop Call",
"results": {
"time": {
"base": 60.7,
"nohint": 60.94,
"base_div_nohint": 0.9960617000328192
}
}
}
{
"category": "Gdscript > Hello World",
"name": "Hello World",
"results": {
"time": {
"base": 0.072,
"nohint": 0.067,
"base_div_nohint": 1.0746268656716416
}
}
}
{
"category": "Gdscript > Lambda Performance",
"name": "Lambda Call",
"results": {
"time": {
"base": 59.16,
"nohint": 60.33,
"base_div_nohint": 0.9806066633515663
}
}
}
{
"category": "Gdscript > Mandelbrot Set",
"name": "Mandelbrot Set",
"results": {
"time": {
"base": 2464.0,
"nohint": 2374.0,
"base_div_nohint": 1.037910699241786
}
}
}
{
"category": "Gdscript > Merkle Trees",
"name": "Merkle Trees 13",
"results": {
"time": {
"base": 1687.0,
"nohint": 1688.0,
"base_div_nohint": 0.9994075829383886
}
}
}
{
"category": "Gdscript > Merkle Trees",
"name": "Merkle Trees 15",
"results": {
"time": {
"base": 10200.0,
"nohint": 8270.0,
"base_div_nohint": 1.2333736396614268
}
}
}
{
"category": "Gdscript > Nbody",
"name": "Nbody 1 000 000",
"results": {
"time": {
"base": 6048.0,
"nohint": 6483.0,
"base_div_nohint": 0.9329014345210551
}
}
}
{
"category": "Gdscript > Nbody",
"name": "Nbody 500 000",
"results": {
"time": {
"base": 3045.0,
"nohint": 3240.0,
"base_div_nohint": 0.9398148148148148
}
}
}
{
"category": "Gdscript > Spectral Norm",
"name": "Spectral Norm 100",
"results": {
"time": {
"base": 50.46,
"nohint": 49.0,
"base_div_nohint": 1.0297959183673469
}
}
}
{
"category": "Gdscript > Spectral Norm",
"name": "Spectral Norm 1000",
"results": {
"time": {
"base": 4744.0,
"nohint": 4655.0,
"base_div_nohint": 1.0191192266380236
}
}
}
{
"category": "Gdscript > Spectral Norm",
"name": "Spectral Norm 500",
"results": {
"time": {
"base": 1190.0,
"nohint": 1168.0,
"base_div_nohint": 1.018835616438356
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Md 5 Buffer Empty",
"results": {
"time": {
"base": 212.6,
"nohint": 217.7,
"base_div_nohint": 0.9765732659623335
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Md 5 Buffer Non Empty",
"results": {
"time": {
"base": 667.9,
"nohint": 678.7,
"base_div_nohint": 0.9840872255783114
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Md 5 Text Empty",
"results": {
"time": {
"base": 173.7,
"nohint": 176.1,
"base_div_nohint": 0.9863713798977853
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Md 5 Text Non Empty",
"results": {
"time": {
"base": 639.3,
"nohint": 635.8,
"base_div_nohint": 1.0055048757470904
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 1 Buffer Empty",
"results": {
"time": {
"base": 192.7,
"nohint": 197.5,
"base_div_nohint": 0.9756962025316455
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 1 Buffer Non Empty",
"results": {
"time": {
"base": 582.0,
"nohint": 596.1,
"base_div_nohint": 0.9763462506290891
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 1 Text Empty",
"results": {
"time": {
"base": 153.0,
"nohint": 153.0,
"base_div_nohint": 1
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 1 Text Non Empty",
"results": {
"time": {
"base": 575.7,
"nohint": 551.8,
"base_div_nohint": 1.0433127944907576
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 256 Buffer Empty",
"results": {
"time": {
"base": 279.2,
"nohint": 284.1,
"base_div_nohint": 0.9827525519183385
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 256 Buffer Non Empty",
"results": {
"time": {
"base": 926.0,
"nohint": 953.5,
"base_div_nohint": 0.9711588883062402
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 256 Text Empty",
"results": {
"time": {
"base": 237.1,
"nohint": 245.7,
"base_div_nohint": 0.964997964997965
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 256 Text Non Empty",
"results": {
"time": {
"base": 908.5,
"nohint": 918.3,
"base_div_nohint": 0.9893281062833497
}
}
}
{
"category": "Gdscript > String Format",
"name": "Complex Variable Concatenate",
"results": {
"time": {
"base": 2467.0,
"nohint": 2165.0,
"base_div_nohint": 1.1394919168591224
}
}
}
{
"category": "Gdscript > String Format",
"name": "Complex Variable Method",
"results": {
"time": {
"base": 3849.0,
"nohint": 3875.0,
"base_div_nohint": 0.9932903225806452
}
}
}
{
"category": "Gdscript > String Format",
"name": "Complex Variable Percent",
"results": {
"time": {
"base": 2989.0,
"nohint": 3014.0,
"base_div_nohint": 0.9917053749170538
}
}
}
{
"category": "Gdscript > String Format",
"name": "No Op Constant Method",
"results": {
"time": {
"base": 193.6,
"nohint": 189.8,
"base_div_nohint": 1.0200210748155953
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Constant Concatenate",
"results": {
"time": {
"base": 2.99,
"nohint": 2.994,
"base_div_nohint": 0.9986639946559787
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Constant Method",
"results": {
"time": {
"base": 818.6,
"nohint": 825.6,
"base_div_nohint": 0.9915213178294574
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Constant Method Constant Dict",
"results": {
"time": {
"base": 554.1,
"nohint": 547.1,
"base_div_nohint": 1.012794735880095
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Constant Percent",
"results": {
"time": {
"base": 2.887,
"nohint": 2.935,
"base_div_nohint": 0.9836456558773424
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Variable Concatenate",
"results": {
"time": {
"base": 209.9,
"nohint": 213.1,
"base_div_nohint": 0.984983575786016
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Variable Method",
"results": {
"time": {
"base": 826.4,
"nohint": 824.6,
"base_div_nohint": 1.0021828765462042
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Variable Percent",
"results": {
"time": {
"base": 468.7,
"nohint": 484.2,
"base_div_nohint": 0.9679884345311854
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Begins With",
"results": {
"time": {
"base": 11.47,
"nohint": 10.99,
"base_div_nohint": 1.0436760691537763
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Bigrams",
"results": {
"time": {
"base": 738.6,
"nohint": 683.0,
"base_div_nohint": 1.0814055636896047
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Capitalize",
"results": {
"time": {
"base": 1241.0,
"nohint": 1249.0,
"base_div_nohint": 0.9935948759007206
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Casecmp To",
"results": {
"time": {
"base": 9.532,
"nohint": 9.884,
"base_div_nohint": 0.9643868878996358
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Contains",
"results": {
"time": {
"base": 9.585,
"nohint": 9.589,
"base_div_nohint": 0.9995828553550944
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Contains Gdscript In",
"results": {
"time": {
"base": 3.016,
"nohint": 2.987,
"base_div_nohint": 1.0097087378640777
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Count",
"results": {
"time": {
"base": 60.93,
"nohint": 61.04,
"base_div_nohint": 0.9981979030144168
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Countn",
"results": {
"time": {
"base": 264.2,
"nohint": 247.6,
"base_div_nohint": 1.067043618739903
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Ends With",
"results": {
"time": {
"base": 10.89,
"nohint": 10.93,
"base_div_nohint": 0.9963403476669718
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Find",
"results": {
"time": {
"base": 45.2,
"nohint": 45.55,
"base_div_nohint": 0.9923161361141604
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Findn",
"results": {
"time": {
"base": 65.62,
"nohint": 65.74,
"base_div_nohint": 0.9981746273197446
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Get Slice",
"results": {
"time": {
"base": 79.52,
"nohint": 81.5,
"base_div_nohint": 0.9757055214723925
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Get Slice Count",
"results": {
"time": {
"base": 23.66,
"nohint": 25.32,
"base_div_nohint": 0.9344391785150079
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Humanize Size",
"results": {
"time": {
"base": 939.2,
"nohint": 975.0,
"base_div_nohint": 0.9632820512820514
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Insert",
"results": {
"time": {
"base": 68.13,
"nohint": 67.9,
"base_div_nohint": 1.0033873343151691
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Is Valid Filename",
"results": {
"time": {
"base": 26.26,
"nohint": 26.73,
"base_div_nohint": 0.982416760194538
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Lpad",
"results": {
"time": {
"base": 225.0,
"nohint": 231.3,
"base_div_nohint": 0.9727626459143969
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Naturalnocasecmp To",
"results": {
"time": {
"base": 12.69,
"nohint": 11.58,
"base_div_nohint": 1.0958549222797926
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Nocasecmp To",
"results": {
"time": {
"base": 38.35,
"nohint": 34.45,
"base_div_nohint": 1.1132075471698113
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Pad Decimals",
"results": {
"time": {
"base": 483.6,
"nohint": 510.6,
"base_div_nohint": 0.9471210340775558
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Pad Decimals Pre Constructed",
"results": {
"time": {
"base": 81.39,
"nohint": 83.34,
"base_div_nohint": 0.9766018718502519
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Pad Zeros",
"results": {
"time": {
"base": 346.8,
"nohint": 368.0,
"base_div_nohint": 0.9423913043478261
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Pad Zeros Pre Constructed",
"results": {
"time": {
"base": 223.9,
"nohint": 230.6,
"base_div_nohint": 0.9709453599306158
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Rfind",
"results": {
"time": {
"base": 48.71,
"nohint": 47.71,
"base_div_nohint": 1.0209599664640536
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Rfindn",
"results": {
"time": {
"base": 171.7,
"nohint": 190.3,
"base_div_nohint": 0.9022595901208617
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Rpad",
"results": {
"time": {
"base": 178.6,
"nohint": 184.3,
"base_div_nohint": 0.9690721649484535
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Rsplit",
"results": {
"time": {
"base": 474.6,
"nohint": 488.8,
"base_div_nohint": 0.970949263502455
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Similarity",
"results": {
"time": {
"base": 34.83,
"nohint": 34.2,
"base_div_nohint": 1.018421052631579
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Simplify Path",
"results": {
"time": {
"base": 1370.0,
"nohint": 1387.0,
"base_div_nohint": 0.9877433309300648
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Split",
"results": {
"time": {
"base": 441.0,
"nohint": 461.9,
"base_div_nohint": 0.9547521108465036
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Split Floats",
"results": {
"time": {
"base": 352.7,
"nohint": 350.6,
"base_div_nohint": 1.0059897318881916
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Substr",
"results": {
"time": {
"base": 70.43,
"nohint": 70.12,
"base_div_nohint": 1.0044209925841414
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Camel Case",
"results": {
"time": {
"base": 605.9,
"nohint": 612.5,
"base_div_nohint": 0.9892244897959184
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Lower",
"results": {
"time": {
"base": 200.4,
"nohint": 178.5,
"base_div_nohint": 1.122689075630252
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Pascal Case",
"results": {
"time": {
"base": 1437.0,
"nohint": 1426.0,
"base_div_nohint": 1.0077138849929874
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Snake Case",
"results": {
"time": {
"base": 1080.0,
"nohint": 1040.0,
"base_div_nohint": 1.0384615384615385
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Utf 16 Buffer",
"results": {
"time": {
"base": 164.4,
"nohint": 174.1,
"base_div_nohint": 0.9442848937392304
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Utf 32 Buffer",
"results": {
"time": {
"base": 112.0,
"nohint": 116.1,
"base_div_nohint": 0.9646856158484066
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Utf 8 Buffer",
"results": {
"time": {
"base": 162.3,
"nohint": 165.2,
"base_div_nohint": 0.9824455205811139
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "To Wchar Buffer",
"results": {
"time": {
"base": 166.7,
"nohint": 173.2,
"base_div_nohint": 0.9624711316397229
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Uri Decode",
"results": {
"time": {
"base": 575.2,
"nohint": 563.9,
"base_div_nohint": 1.0200390140095763
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Uri Encode",
"results": {
"time": {
"base": 448.2,
"nohint": 438.6,
"base_div_nohint": 1.0218878248974008
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Validate Filename",
"results": {
"time": {
"base": 357.6,
"nohint": 342.2,
"base_div_nohint": 1.0450029222676798
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Validate Node Name",
"results": {
"time": {
"base": 91.35,
"nohint": 92.68,
"base_div_nohint": 0.9856495468277944
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Xml Escape",
"results": {
"time": {
"base": 486.9,
"nohint": 490.1,
"base_div_nohint": 0.9934707202611711
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Xml Unescape",
"results": {
"time": {
"base": 88.86,
"nohint": 104.0,
"base_div_nohint": 0.854423076923077
}
}
}
{
"category": "Math > Convex Hull 3d",
"name": "Both Clean And Simplify",
"results": {
"time": {
"base": 5643.0,
"nohint": 5799.0,
"base_div_nohint": 0.9730988101396792
}
}
}
{
"category": "Math > Convex Hull 3d",
"name": "Only Clean",
"results": {
"time": {
"base": 5629.0,
"nohint": 5783.0,
"base_div_nohint": 0.973370223067612
}
}
}
{
"category": "Math > Convex Hull 3d",
"name": "Only Simplify",
"results": {
"time": {
"base": 22.13,
"nohint": 22.98,
"base_div_nohint": 0.9630113141862489
}
}
}
{
"category": "Math > Convex Hull 3d",
"name": "Quickest",
"results": {
"time": {
"base": 27.51,
"nohint": 26.13,
"base_div_nohint": 1.0528128587830081
}
}
}
{
"category": "Math > Delaunay 2d",
"name": "Delaunay 2d",
"results": {
"time": {
"base": 108.0,
"nohint": 107.7,
"base_div_nohint": 1.0027855153203342
}
}
}
{
"category": "Math > Delaunay 3d",
"name": "Delaunay 3d",
"results": {
"time": {
"base": 615.4,
"nohint": 606.9,
"base_div_nohint": 1.0140056022408963
}
}
}
{
"category": "Math > Expression",
"name": "Parse 20 Complex Expressions Cold",
"results": {
"time": {
"base": 320.5,
"nohint": 323.5,
"base_div_nohint": 0.990726429675425
}
}
}
{
"category": "Math > Expression",
"name": "Parse 20 Complex Expressions With Cached Parse",
"results": {
"time": {
"base": 321.8,
"nohint": 320.4,
"base_div_nohint": 1.0043695380774034
}
}
}
{
"category": "Math > Expression",
"name": "Parse 20 Complex Expressions With Cached Parse Then Execute",
"results": {
"time": {
"base": 329.0,
"nohint": 324.7,
"base_div_nohint": 1.0132429935324916
}
}
}
{
"category": "Math > Noise",
"name": "Cellular",
"results": {
"time": {
"base": 1134.0,
"nohint": 1125.0,
"base_div_nohint": 1.008
}
}
}
{
"category": "Math > Noise",
"name": "Perlin",
"results": {
"time": {
"base": 390.3,
"nohint": 389.7,
"base_div_nohint": 1.0015396458814474
}
}
}
{
"category": "Math > Noise",
"name": "Simplex",
"results": {
"time": {
"base": 431.8,
"nohint": 436.3,
"base_div_nohint": 0.9896859958743983
}
}
}
{
"category": "Math > Noise",
"name": "Simplex Smooth",
"results": {
"time": {
"base": 538.4,
"nohint": 547.6,
"base_div_nohint": 0.983199415631848
}
}
}
{
"category": "Math > Noise",
"name": "Value",
"results": {
"time": {
"base": 350.9,
"nohint": 346.2,
"base_div_nohint": 1.013575967648758
}
}
}
{
"category": "Math > Noise",
"name": "Value Cubic",
"results": {
"time": {
"base": 717.4,
"nohint": 716.4,
"base_div_nohint": 1.001395868230039
}
}
}
{
"category": "Math > Triangulate",
"name": "Triangulate",
"results": {
"time": {
"base": 77.26,
"nohint": 85.34,
"base_div_nohint": 0.905319896883056
}
}
}
{
"category": "Navigation > Astar 2d",
"name": "Astar 5000 Times 5000 Points",
"results": {
"time": {
"base": 525.2,
"nohint": 514.7,
"base_div_nohint": 1.0204002331455218
}
}
}
{
"category": "Navigation > Astar 3d",
"name": "Astar 1000 Times 1000 Points",
"results": {
"time": {
"base": 575.0,
"nohint": 576.4,
"base_div_nohint": 0.9975711311589175
}
}
}
{
"category": "Navigation > Moving Agents 2d",
"name": "1000 Moving Agents",
"results": {
"render_cpu": {
"base": 0.08463,
"nohint": 0.09183,
"base_div_nohint": 0.921594250245018
},
"time": {
"base": 0.02267,
"nohint": 0.02067,
"base_div_nohint": 1.096758587324625
}
}
}
{
"category": "Navigation > Moving Agents 3d",
"name": "1000 Moving Agents",
"results": {
"render_cpu": {
"base": 0.02854,
"nohint": 0.02851,
"base_div_nohint": 1.0010522623640827
},
"time": {
"base": 0.03267,
"nohint": 0.02,
"base_div_nohint": 1.6335
}
}
}
{
"category": "Navigation > Navigation 2d",
"name": "Navigation 10 000 Random Paths",
"results": {
"time": {
"base": 8.406,
"nohint": 8.626,
"base_div_nohint": 0.9744957106422445
}
}
}
{
"category": "Navigation > Navigation 3d",
"name": "Navigation 10 000 Random Paths",
"results": {
"time": {
"base": 8.817,
"nohint": 9.002,
"base_div_nohint": 0.9794490113308153
}
}
}
{
"category": "Scene Nodes > Add Children",
"name": "Add Children With Same Name",
"results": {
"time": {
"base": 77.67,
"nohint": 79.87,
"base_div_nohint": 0.9724552397646175
}
}
}
{
"category": "Scene Nodes > Add Children",
"name": "Add Children Without Name",
"results": {
"time": {
"base": 89.48,
"nohint": 92.73,
"base_div_nohint": 0.9649520112153565
}
}
}
{
"category": "Scene Nodes > Delete Children",
"name": "Delete Children In Order",
"results": {
"time": {
"base": 8.511,
"nohint": 8.96,
"base_div_nohint": 0.9498883928571427
}
}
}
{
"category": "Scene Nodes > Delete Children",
"name": "Delete Children Random Order",
"results": {
"time": {
"base": 19.5,
"nohint": 19.86,
"base_div_nohint": 0.9818731117824774
}
}
}
{
"category": "Scene Nodes > Delete Children",
"name": "Delete Children Reverse Order",
"results": {
"time": {
"base": 8.554,
"nohint": 8.793,
"base_div_nohint": 0.9728192880700558
}
}
}
{
"category": "Scene Nodes > Get Node",
"name": "Get Node",
"results": {
"time": {
"base": 34.88,
"nohint": 34.26,
"base_div_nohint": 1.018096906012843
}
}
}
{
"category": "Scene Nodes > Move Children",
"name": "Move Children",
"results": {
"time": {
"base": 905.1,
"nohint": 774.9,
"base_div_nohint": 1.1680216802168022
}
}
}
{
"category": "Viewport > Activation",
"name": "Activate 1024 Viewports",
"results": {
"time": {
"base": 350.3,
"nohint": 298.7,
"base_div_nohint": 1.1727485771677268
}
}
}
{
"category": "Viewport > Activation",
"name": "Activate 256 Viewports",
"results": {
"time": {
"base": 71.02,
"nohint": 68.33,
"base_div_nohint": 1.0393677740377578
}
}
}
{
"category": "Viewport > Activation",
"name": "Activate 64 Viewports",
"results": {
"time": {
"base": 24.52,
"nohint": 25.56,
"base_div_nohint": 0.9593114241001566
}
}
}
{
"category": "Viewport > Allocation",
"name": "Create 1024 Viewports",
"results": {
"time": {
"base": 211.8,
"nohint": 223.5,
"base_div_nohint": 0.9476510067114094
}
}
}
{
"category": "Viewport > Allocation",
"name": "Create 256 Viewports",
"results": {
"time": {
"base": 25.19,
"nohint": 22.15,
"base_div_nohint": 1.1372460496613996
}
}
}
{
"category": "Viewport > Allocation",
"name": "Create 64 Viewports",
"results": {
"time": {
"base": 21.83,
"nohint": 20.63,
"base_div_nohint": 1.0581677169171109
}
}
}
|
This absolutely needs to be checked with full LTO, if there's any performance loss with this we need to get data on that case, but generally I don't think trading performance for binary size reduction is appropriate |
Yes, most of these tricks should be enabled only if building with |
So MSVC doesn't use LTO generally, but with no LTO my production editor build saves about 2 out of 140 MB (with That's for just the
Note didn't use optimizing for size, but that shouldn't matter as Will compare some other cases as well when I have the time |
Correction, in a release build it saves about 1 MB with full LTO, compared the wrong case, will test some other cases and try look at some performance For a web build with |
I think it makes sense to reduce (but not eliminate) our use of inlining when using We could even have |
I think a better option might simply be to remove The But the |
I think I should explain the results I observed in SizeBench, why I made these changes, and why they can (or theoretically should) reduce the final binary size, to ensure we're on the same page.
Notice that This definitely will impact performance. We should decide where to place it based on benchmark results, whether it should be enabled in
I have tried this, and it shows quite a bit reduction in binary size, see above. What I do realized is that there are significant differences in binary layout between full LTO and thin LTO in some areas. So before moving forward, I’ll first try to replicate the build process of our official web release and see which of my previous conclusions hold. Edit: It seems that the configuration I’m using is already the closest to the web release on Windows. Another point worth exploring is Template Foldability, but I haven’t yet found a good way to reduce its size. We have quite a few very similar template instantiations, and if we can extract their common parts, LTO should be able to recognize and merge them. This could potentially free up a significant amount of binary size. |
87becf7
to
fd17c52
Compare
Did some cleanup and made these changes guarded by a
Resultsonly show regressions. {
"category": "Asset Import Export > Runtime",
"name": "Import Fbx",
"results": {
"time": {
"master": 0.27,
"pr": 0.3383,
"master_div_pr": 0.7981081879988177
}
}
}
{
"category": "Asset Import Export > Runtime",
"name": "Import Gltf",
"results": {
"time": {
"master": 0.2187,
"pr": 0.2557,
"master_div_pr": 0.8552991787250686
}
}
}
{
"category": "Asset Import Export > Runtime",
"name": "Import Ogg Audio",
"results": {
"time": {
"master": 0.128,
"pr": 0.14,
"master_div_pr": 0.9142857142857143
}
}
}
{
"category": "Core > Array",
"name": "Append Array",
"results": {
"time": {
"master": 246.3,
"pr": 271.2,
"master_div_pr": 0.9081858407079647
}
}
}
{
"category": "Core > Array",
"name": "Bsearch",
"results": {
"time": {
"master": 129.0,
"pr": 131.2,
"master_div_pr": 0.9832317073170732
}
}
}
{
"category": "Core > Callable",
"name": "Function Callable",
"results": {
"time": {
"master": 428.3,
"pr": 451.0,
"master_div_pr": 0.9496674057649668
}
}
}
{
"category": "Core > Callable",
"name": "Lambda Inline Callable",
"results": {
"time": {
"master": 500.4,
"pr": 523.4,
"master_div_pr": 0.9560565533053115
}
}
}
{
"category": "Core > Random Number Generator",
"name": "Global Scope Randi",
"results": {
"time": {
"master": 101.1,
"pr": 104.0,
"master_div_pr": 0.9721153846153846
}
}
}
{
"category": "Core > Signal",
"name": "Emission Params 0",
"results": {
"time": {
"master": 275.1,
"pr": 299.8,
"master_div_pr": 0.9176117411607739
}
}
}
{
"category": "Core > Signal",
"name": "Emission Params 1",
"results": {
"time": {
"master": 283.7,
"pr": 296.8,
"master_div_pr": 0.9558625336927223
}
}
}
{
"category": "Core > Signal",
"name": "Emission Params 10",
"results": {
"time": {
"master": 332.1,
"pr": 351.8,
"master_div_pr": 0.9440022740193292
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Color Array",
"results": {
"time": {
"master": 286.3,
"pr": 293.5,
"master_div_pr": 0.9754684838160137
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed Float Array",
"results": {
"time": {
"master": 229.2,
"pr": 237.1,
"master_div_pr": 0.966680725432307
}
}
}
{
"category": "Gdscript > Array",
"name": "Typed String Array",
"results": {
"time": {
"master": 843.7,
"pr": 879.3,
"master_div_pr": 0.9595132491754806
}
}
}
{
"category": "Gdscript > Array",
"name": "Untyped String Array",
"results": {
"time": {
"master": 948.1,
"pr": 979.9,
"master_div_pr": 0.9675477089498928
}
}
}
{
"category": "Gdscript > Control",
"name": "Control",
"results": {
"time": {
"master": 0.01367,
"pr": 0.01867,
"master_div_pr": 0.7321906802356722
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Md 5 Buffer Empty",
"results": {
"time": {
"master": 277.0,
"pr": 282.0,
"master_div_pr": 0.9822695035460993
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Md 5 Text Empty",
"results": {
"time": {
"master": 223.7,
"pr": 228.4,
"master_div_pr": 0.9794220665499124
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 1 Buffer Empty",
"results": {
"time": {
"master": 275.6,
"pr": 286.6,
"master_div_pr": 0.9616189811584089
}
}
}
{
"category": "Gdscript > String Checksum",
"name": "Sha 1 Text Empty",
"results": {
"time": {
"master": 234.8,
"pr": 240.4,
"master_div_pr": 0.9767054908485857
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Variable Concatenate",
"results": {
"time": {
"master": 248.6,
"pr": 261.7,
"master_div_pr": 0.949942682460833
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Variable Method",
"results": {
"time": {
"master": 939.0,
"pr": 952.6,
"master_div_pr": 0.9857232836447617
}
}
}
{
"category": "Gdscript > String Format",
"name": "Simple Variable Percent",
"results": {
"time": {
"master": 536.5,
"pr": 552.7,
"master_div_pr": 0.9706893432241722
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Begins With",
"results": {
"time": {
"master": 14.86,
"pr": 15.44,
"master_div_pr": 0.9624352331606217
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Casecmp To",
"results": {
"time": {
"master": 12.19,
"pr": 12.4,
"master_div_pr": 0.9830645161290322
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Contains",
"results": {
"time": {
"master": 12.68,
"pr": 12.97,
"master_div_pr": 0.9776407093292212
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Ends With",
"results": {
"time": {
"master": 16.63,
"pr": 16.93,
"master_div_pr": 0.9822799763733018
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Get Slice",
"results": {
"time": {
"master": 108.9,
"pr": 110.6,
"master_div_pr": 0.9846292947558771
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Get Slice Count",
"results": {
"time": {
"master": 26.0,
"pr": 26.57,
"master_div_pr": 0.9785472337222432
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Insert",
"results": {
"time": {
"master": 101.1,
"pr": 109.1,
"master_div_pr": 0.9266727772685609
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Lpad",
"results": {
"time": {
"master": 293.7,
"pr": 296.8,
"master_div_pr": 0.98955525606469
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Naturalnocasecmp To",
"results": {
"time": {
"master": 15.64,
"pr": 16.64,
"master_div_pr": 0.9399038461538461
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Pad Zeros",
"results": {
"time": {
"master": 436.1,
"pr": 444.9,
"master_div_pr": 0.9802202742189257
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Pad Zeros Pre Constructed",
"results": {
"time": {
"master": 294.7,
"pr": 298.9,
"master_div_pr": 0.9859484777517564
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Rfindn",
"results": {
"time": {
"master": 171.3,
"pr": 175.2,
"master_div_pr": 0.9777397260273973
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Rpad",
"results": {
"time": {
"master": 228.9,
"pr": 234.9,
"master_div_pr": 0.9744572158365262
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Similarity",
"results": {
"time": {
"master": 28.26,
"pr": 28.62,
"master_div_pr": 0.9874213836477987
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Validate Filename",
"results": {
"time": {
"master": 417.4,
"pr": 430.7,
"master_div_pr": 0.9691200371488274
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Validate Node Name",
"results": {
"time": {
"master": 131.3,
"pr": 132.7,
"master_div_pr": 0.9894498869630748
}
}
}
{
"category": "Gdscript > String Manipulation",
"name": "Xml Unescape",
"results": {
"time": {
"master": 110.5,
"pr": 111.7,
"master_div_pr": 0.9892569382273948
}
}
}
{
"category": "Math > Convex Hull 3d",
"name": "Only Simplify",
"results": {
"time": {
"master": 14.64,
"pr": 14.9,
"master_div_pr": 0.9825503355704698
}
}
}
{
"category": "Math > Noise",
"name": "Value Cubic",
"results": {
"time": {
"master": 1003.0,
"pr": 1017.0,
"master_div_pr": 0.9862340216322517
}
}
}
{
"category": "Navigation > Astar 3d",
"name": "Astar 1000 Times 1000 Points",
"results": {
"time": {
"master": 498.0,
"pr": 503.5,
"master_div_pr": 0.9890764647467726
}
}
}
{
"category": "Navigation > Moving Agents 2d",
"name": "1000 Moving Agents",
"results": {
"render_cpu": {
"master": 0.3762,
"pr": 0.3654,
"master_div_pr": 1.0295566502463054
},
"time": {
"master": 0.09967,
"pr": 0.1043,
"master_div_pr": 0.9556088207094917
}
}
}
{
"category": "Navigation > Moving Agents 3d",
"name": "1000 Moving Agents",
"results": {
"render_cpu": {
"master": 0.204,
"pr": 0.1993,
"master_div_pr": 1.0235825388861013
},
"time": {
"master": 0.08833,
"pr": 0.1163,
"master_div_pr": 0.7595012897678418
}
}
}
{
"category": "Navigation > Navigation 3d",
"name": "Navigation 10 000 Random Paths",
"results": {
"time": {
"master": 9.765,
"pr": 9.984,
"master_div_pr": 0.9780649038461539
}
}
}
{
"category": "Viewport > Activation",
"name": "Activate 256 Viewports",
"results": {
"time": {
"master": 152.1,
"pr": 154.5,
"master_div_pr": 0.9844660194174757
}
}
}
{
"category": "Viewport > Activation",
"name": "Activate 64 Viewports",
"results": {
"time": {
"master": 48.96,
"pr": 53.14,
"master_div_pr": 0.9213398569815582
}
}
} Generally I see a 5-10% regression in performance. |
fd17c52
to
da16f71
Compare
I tried some other tricks, but they didn’t work. I think this is about as far as it goes. |
AFAIK godot has a long standing issue that its binary size is too big for web platform which leads to slow starup time. See #68647 for more details. I profile the binary size a bit with SizeBench and apply several suggestions.
What I have done:
String::~String()
(~-5MB),StringName:~StringName
(~-1MB),_err_print_error
(~-200KB)_FORCE_INLINE_
a no-op.remove unusedvirtual
qualifier forObject::call_const
(~-10KB) (I wonder if this can be automated, some of these functions are configuration-dependent, e.g.Object::setvar()
overriden on web but not on Windows. Manually doing this is time-consuming and prone to errors.)(These unused virtuals waste approximately 2.8MB of space in total.)These changes are guarded by a
SIZE_EXTRA
macro and can be enabled by passingoptimize=size_extra
from cmd.Result(Web Release):
compile with
scons p=web target=template_release optimize=size_extra production=yes
Performance impact: 5%~10%, measured by godot-benchmark exported to web. #101964 (comment)