Skip to content
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

Add various GDScript, core, GUI and physics benchmarks #32

Merged
merged 1 commit into from
Aug 16, 2023

Conversation

Calinou
Copy link
Member

@Calinou Calinou commented May 4, 2023

  • Make idle and physics time measurements somewhat functional, given what the engine exposes. To improve upon this, we need to add an Engine method that returns the time actually spent processing in the last idle/physics frame.

Results JSON:

{"benchmarks":[{"category":"Core > Callable","name":"Function Callable","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":259.7}},{"category":"Core > Callable","name":"Lambda Inline Callable","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":182.9}},{"category":"Core > Callable","name":"Lambda Variable Callable","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":59.78}},{"category":"Core > Crypto","name":"Generate 10 Random Bytes","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":16.35}},{"category":"Core > Crypto","name":"Generate 1g Random Bytes","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":501.5}},{"category":"Core > Crypto","name":"Generate 1k Random Bytes","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":94.5}},{"category":"Core > Crypto","name":"Generate 1m Random Bytes","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":8.502}},{"category":"Core > Crypto","name":"Generate Rsa 2048","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":141.1}},{"category":"Core > Crypto","name":"Generate Rsa 4096","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1259}},{"category":"Core > Random Number Generator","name":"Global Scope Randf","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":72.95}},{"category":"Core > Random Number Generator","name":"Global Scope Randf Range","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":153.9}},{"category":"Core > Random Number Generator","name":"Global Scope Randfn","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":375.4}},{"category":"Core > Random Number Generator","name":"Global Scope Randi","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":70.69}},{"category":"Core > Random Number Generator","name":"Global Scope Randi Range","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":110.3}},{"category":"Core > Random Number Generator","name":"Global Scope Randomize","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":345.4}},{"category":"Core > Random Number Generator","name":"Randf","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":146.5}},{"category":"Core > Random Number Generator","name":"Randf Range","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":172.9}},{"category":"Core > Random Number Generator","name":"Randfn","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":365.3}},{"category":"Core > Random Number Generator","name":"Randi","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":118.2}},{"category":"Core > Random Number Generator","name":"Randi Range","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":149.3}},{"category":"Core > Random Number Generator","name":"Randomize","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":411.3}},{"category":"Core > Signal","name":"Emission Params 0","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":190.6}},{"category":"Core > Signal","name":"Emission Params 1","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":191.8}},{"category":"Core > Signal","name":"Emission Params 10","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":213}},{"category":"Gdscript > Alloc","name":"Deep Tree","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":141.1}},{"category":"Gdscript > Alloc","name":"Duplicate","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":830.2}},{"category":"Gdscript > Alloc","name":"Fragmentation","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1719}},{"category":"Gdscript > Alloc","name":"Wide Tree","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":98.75}},{"category":"Gdscript > Array","name":"Fill Loop","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":196.9}},{"category":"Gdscript > Array","name":"Fill Method","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":81.83}},{"category":"Gdscript > Array","name":"Packed Color Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":223.7}},{"category":"Gdscript > Array","name":"Packed Float 32 Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":55.6}},{"category":"Gdscript > Array","name":"Packed Float 64 Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":111.6}},{"category":"Gdscript > Array","name":"Packed Int 32 Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":55.19}},{"category":"Gdscript > Array","name":"Packed Int 64 Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":111.3}},{"category":"Gdscript > Array","name":"Packed String Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":254.6}},{"category":"Gdscript > Array","name":"Packed Vector 2 Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":112}},{"category":"Gdscript > Array","name":"Packed Vector 3 Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":167.9}},{"category":"Gdscript > Array","name":"Typed Color Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1022}},{"category":"Gdscript > Array","name":"Typed Float Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1020}},{"category":"Gdscript > Array","name":"Typed Int Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":943.5}},{"category":"Gdscript > Array","name":"Typed String Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1384}},{"category":"Gdscript > Array","name":"Typed Vector 2 Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":934.1}},{"category":"Gdscript > Array","name":"Typed Vector 3 Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1115}},{"category":"Gdscript > Array","name":"Untyped Color Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1029}},{"category":"Gdscript > Array","name":"Untyped Float Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1025}},{"category":"Gdscript > Array","name":"Untyped Int Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":945.9}},{"category":"Gdscript > Array","name":"Untyped String Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1388}},{"category":"Gdscript > Array","name":"Untyped Vector 2 Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":938.4}},{"category":"Gdscript > Array","name":"Untyped Vector 3 Array","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1129}},{"category":"Gdscript > String Checksum","name":"Md 5 Buffer Empty","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":144.7}},{"category":"Gdscript > String Checksum","name":"Md 5 Buffer Non Empty","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":506}},{"category":"Gdscript > String Checksum","name":"Md 5 Text Empty","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":516.4}},{"category":"Gdscript > String Checksum","name":"Md 5 Text Non Empty","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":874.1}},{"category":"Gdscript > String Checksum","name":"Sha 1 Buffer Empty","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":134.1}},{"category":"Gdscript > String Checksum","name":"Sha 1 Buffer Non Empty","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":447}},{"category":"Gdscript > String Checksum","name":"Sha 1 Text Empty","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":566}},{"category":"Gdscript > String Checksum","name":"Sha 1 Text Non Empty","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":899.2}},{"category":"Gdscript > String Checksum","name":"Sha 256 Buffer Empty","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":224.5}},{"category":"Gdscript > String Checksum","name":"Sha 256 Buffer Non Empty","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":773.6}},{"category":"Gdscript > String Checksum","name":"Sha 256 Text Empty","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":903.8}},{"category":"Gdscript > String Checksum","name":"Sha 256 Text Non Empty","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1470}},{"category":"Gdscript > String Format","name":"Complex Variable Concatenate","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1304}},{"category":"Gdscript > String Format","name":"Complex Variable Method","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":2743}},{"category":"Gdscript > String Format","name":"Complex Variable Percent","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":2543}},{"category":"Gdscript > String Format","name":"Simple Constant Concatenate","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":3.214}},{"category":"Gdscript > String Format","name":"Simple Constant Method","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":675.6}},{"category":"Gdscript > String Format","name":"Simple Constant Percent","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":3.189}},{"category":"Gdscript > String Format","name":"Simple Variable Concatenate","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":148.5}},{"category":"Gdscript > String Format","name":"Simple Variable Method","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":671.5}},{"category":"Gdscript > String Format","name":"Simple Variable Percent","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":446.4}},{"category":"Gdscript > String Manipulation","name":"Begins With","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":9.738}},{"category":"Gdscript > String Manipulation","name":"Bigrams","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":676.3}},{"category":"Gdscript > String Manipulation","name":"Capitalize","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":686.2}},{"category":"Gdscript > String Manipulation","name":"Casecmp To","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":9.466}},{"category":"Gdscript > String Manipulation","name":"Contains","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":9.508}},{"category":"Gdscript > String Manipulation","name":"Contains Gdscript In","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":3.189}},{"category":"Gdscript > String Manipulation","name":"Count","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":157.4}},{"category":"Gdscript > String Manipulation","name":"Countn","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":245}},{"category":"Gdscript > String Manipulation","name":"Ends With","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":9.072}},{"category":"Gdscript > String Manipulation","name":"Find","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":25.05}},{"category":"Gdscript > String Manipulation","name":"Findn","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":41.6}},{"category":"Gdscript > String Manipulation","name":"Get Slice","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":65.1}},{"category":"Gdscript > String Manipulation","name":"Get Slice Count","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":23.17}},{"category":"Gdscript > String Manipulation","name":"Humanize Size","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1835}},{"category":"Gdscript > String Manipulation","name":"Insert","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":204.5}},{"category":"Gdscript > String Manipulation","name":"Is Valid Filename","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":793.5}},{"category":"Gdscript > String Manipulation","name":"Lpad","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":158.9}},{"category":"Gdscript > String Manipulation","name":"Naturalnocasecmp To","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":8.733}},{"category":"Gdscript > String Manipulation","name":"Nocasecmp To","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":23.88}},{"category":"Gdscript > String Manipulation","name":"Pad Decimals","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":375}},{"category":"Gdscript > String Manipulation","name":"Pad Decimals Pre Constructed","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":79.82}},{"category":"Gdscript > String Manipulation","name":"Pad Zeros","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":369.6}},{"category":"Gdscript > String Manipulation","name":"Pad Zeros Pre Constructed","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":276.3}},{"category":"Gdscript > String Manipulation","name":"Rfind","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":34.78}},{"category":"Gdscript > String Manipulation","name":"Rfindn","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":99.55}},{"category":"Gdscript > String Manipulation","name":"Rpad","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":115.6}},{"category":"Gdscript > String Manipulation","name":"Rsplit","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":317.5}},{"category":"Gdscript > String Manipulation","name":"Similarity","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":615.6}},{"category":"Gdscript > String Manipulation","name":"Simplify Path","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1007}},{"category":"Gdscript > String Manipulation","name":"Split","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":293.7}},{"category":"Gdscript > String Manipulation","name":"Split Floats","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":156.9}},{"category":"Gdscript > String Manipulation","name":"Substr","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":49.25}},{"category":"Gdscript > String Manipulation","name":"To Camel Case","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":163.4}},{"category":"Gdscript > String Manipulation","name":"To Lower","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":139.4}},{"category":"Gdscript > String Manipulation","name":"To Pascal Case","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":844.8}},{"category":"Gdscript > String Manipulation","name":"To Snake Case","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":461.8}},{"category":"Gdscript > String Manipulation","name":"To Utf 16 Buffer","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":112.1}},{"category":"Gdscript > String Manipulation","name":"To Utf 32 Buffer","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":76.21}},{"category":"Gdscript > String Manipulation","name":"To Utf 8 Buffer","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":110.2}},{"category":"Gdscript > String Manipulation","name":"To Wchar Buffer","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":74.94}},{"category":"Gdscript > String Manipulation","name":"Uri Decode","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":546}},{"category":"Gdscript > String Manipulation","name":"Uri Encode","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":257.2}},{"category":"Gdscript > String Manipulation","name":"Validate Filename","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1345}},{"category":"Gdscript > String Manipulation","name":"Validate Node Name","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":69.1}},{"category":"Gdscript > String Manipulation","name":"Xml Escape","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":420.2}},{"category":"Gdscript > String Manipulation","name":"Xml Unescape","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":69.04}},{"category":"Gui > Label","name":"Label","results":{"idle":0,"physics":0,"render_cpu":1.343,"render_gpu":1.944,"time":0.067}},{"category":"Gui > Label","name":"Label Autowrap Arbitrary","results":{"idle":0,"physics":0,"render_cpu":1.317,"render_gpu":1.784,"time":0.085}},{"category":"Gui > Label","name":"Label Autowrap Smart","results":{"idle":0,"physics":0,"render_cpu":1.317,"render_gpu":1.793,"time":0.065}},{"category":"Gui > Label","name":"Label Autowrap Word","results":{"idle":0,"physics":0,"render_cpu":1.315,"render_gpu":1.815,"time":0.064}},{"category":"Physics > Rigid Body 3d","name":"7500 Rigid Body 3d Shared Box Shape","results":{"idle":48.62,"physics":56.74,"render_cpu":0,"render_gpu":0,"time":23.58}},{"category":"Physics > Rigid Body 3d","name":"7500 Rigid Body 3d Shared Sphere Shape","results":{"idle":45.96,"physics":52.42,"render_cpu":0,"render_gpu":0,"time":24.05}},{"category":"Physics > Rigid Body 3d","name":"7500 Rigid Body 3d Unique Box Shape","results":{"idle":47.33,"physics":42.87,"render_cpu":0,"render_gpu":0,"time":25.58}},{"category":"Physics > Rigid Body 3d","name":"7500 Rigid Body 3d Unique Sphere Shape","results":{"idle":47.69,"physics":28.33,"render_cpu":0,"render_gpu":0,"time":25.65}},{"category":"Rendering > Culling","name":"Basic Cull","results":{"idle":0,"physics":0,"render_cpu":0.7463,"render_gpu":1.521,"time":0.159}},{"category":"Rendering > Culling","name":"Directional Light Cull","results":{"idle":0,"physics":0,"render_cpu":2.064,"render_gpu":2.094,"time":0.039}},{"category":"Rendering > Culling","name":"Dynamic Cull","results":{"idle":0,"physics":0,"render_cpu":4.1,"render_gpu":1.522,"time":0.018}},{"category":"Rendering > Culling","name":"Dynamic Light Cull","results":{"idle":0,"physics":0,"render_cpu":1.901,"render_gpu":1.687,"time":0.017}},{"category":"Rendering > Culling","name":"Dynamic Light Cull With Shadows","results":{"idle":0,"physics":0,"render_cpu":7.857,"render_gpu":2.556,"time":0.017}},{"category":"Rendering > Culling","name":"Static Light Cull","results":{"idle":0,"physics":0,"render_cpu":1.83,"render_gpu":1.637,"time":0.017}},{"category":"Rendering > Hlod","name":"Aaa Setup","results":{"idle":0,"physics":0,"render_cpu":0,"render_gpu":0,"time":1955}},{"category":"Rendering > Hlod","name":"Cull Deep","results":{"idle":0,"physics":0,"render_cpu":0.5718,"render_gpu":0.6491,"time":244.6}},{"category":"Rendering > Hlod","name":"Cull Fast","results":{"idle":0,"physics":0,"render_cpu":0.4472,"render_gpu":0.644,"time":54.87}},{"category":"Rendering > Hlod","name":"Cull Slow","results":{"idle":0,"physics":0,"render_cpu":0.435,"render_gpu":0.6434,"time":55.43}},{"category":"Rendering > Hlod","name":"Flat Deep","results":{"idle":0,"physics":0,"render_cpu":0.5743,"render_gpu":0.791,"time":214.4}},{"category":"Rendering > Hlod","name":"Flat Fast","results":{"idle":0,"physics":0,"render_cpu":0.4859,"render_gpu":0.7943,"time":54.01}},{"category":"Rendering > Hlod","name":"Flat Slow","results":{"idle":0,"physics":0,"render_cpu":0.4751,"render_gpu":0.787,"time":54.93}},{"category":"Rendering > Lights And Meshes","name":"Box 100","results":{"idle":0,"physics":0,"render_cpu":0.9782,"render_gpu":1.666,"time":0.529}},{"category":"Rendering > Lights And Meshes","name":"Box 1000","results":{"idle":0,"physics":0,"render_cpu":0.6741,"render_gpu":1.578,"time":4.096}},{"category":"Rendering > Lights And Meshes","name":"Box 10000","results":{"idle":0,"physics":0,"render_cpu":2.985,"render_gpu":1.4,"time":36.32}},{"category":"Rendering > Lights And Meshes","name":"Omni 10","results":{"idle":0,"physics":0,"render_cpu":0.6392,"render_gpu":1.499,"time":4.23}},{"category":"Rendering > Lights And Meshes","name":"Omni 100","results":{"idle":0,"physics":0,"render_cpu":0.8711,"render_gpu":1.491,"time":4.321}},{"category":"Rendering > Lights And Meshes","name":"Speed Fast","results":{"idle":0,"physics":0,"render_cpu":0.6909,"render_gpu":1.44,"time":3.841}},{"category":"Rendering > Lights And Meshes","name":"Speed Slow","results":{"idle":0,"physics":0,"render_cpu":0.667,"render_gpu":1.657,"time":3.842}},{"category":"Rendering > Lights And Meshes","name":"Sphere 100","results":{"idle":0,"physics":0,"render_cpu":0.3748,"render_gpu":1.253,"time":1.339}},{"category":"Rendering > Lights And Meshes","name":"Sphere 1000","results":{"idle":0,"physics":0,"render_cpu":0.6702,"render_gpu":1.517,"time":4.365}},{"category":"Rendering > Lights And Meshes","name":"Sphere 10000","results":{"idle":0,"physics":0,"render_cpu":2.912,"render_gpu":3.038,"time":37.17}},{"category":"Rendering > Lights And Meshes","name":"Spot 10","results":{"idle":0,"physics":0,"render_cpu":0.6692,"render_gpu":0.9828,"time":3.951}},{"category":"Rendering > Lights And Meshes","name":"Spot 100","results":{"idle":0,"physics":0,"render_cpu":1.028,"render_gpu":1.309,"time":4.326}},{"category":"Rendering > Lights And Meshes","name":"Stress","results":{"idle":0,"physics":0,"render_cpu":6.433,"render_gpu":3.102,"time":37.06}},{"category":"Rendering > Polygon Sprite 2d","name":"1000 Polygon 2d","results":{"idle":0,"physics":0,"render_cpu":0.2081,"render_gpu":0.09743,"time":0.175}},{"category":"Rendering > Polygon Sprite 2d","name":"100 Polygon 2d","results":{"idle":0,"physics":0,"render_cpu":0.02598,"render_gpu":0.03176,"time":0.071}},{"category":"Rendering > Polygon Sprite 2d","name":"10 Polygon 2d","results":{"idle":0,"physics":0,"render_cpu":0.009766,"render_gpu":0.1266,"time":0.085}},{"category":"Rendering > Polygon Sprite 2d","name":"5000 Sprite 2d","results":{"idle":0,"physics":0,"render_cpu":0.6547,"render_gpu":3.264,"time":0.019}},{"category":"Rendering > Polygon Sprite 2d","name":"500 Sprite 2d","results":{"idle":0,"physics":0,"render_cpu":0.06718,"render_gpu":0.3009,"time":0.016}},{"category":"Rendering > Polygon Sprite 2d","name":"50 Sprite 2d","results":{"idle":0,"physics":0,"render_cpu":0.01262,"render_gpu":0.05521,"time":0.011}}],"engine":{"binary_size":1638863168,"build_type":"editor","version":"v4.1.dev.custom_build","version_hash":"8c729f0f34a92b92a1a8204e1d56b6ad05cfd27b"},"system":{"cpu_architecture":"x86_64","cpu_count":32,"cpu_name":"13th Gen Intel(R) Core(TM) i9-13900K","gpu_name":"NVIDIA GeForce RTX 4090","gpu_vendor":"NVIDIA","os":"Linux"}}

@Calinou
Copy link
Member Author

Calinou commented May 10, 2023

@myaaaaaaaaa Could you review this PR when you have time? Thanks in advance 🙂

Copy link
Member

@adamscott adamscott left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Seems fine to me! Good job!

- Make idle and physics time measurements somewhat functional,
  given what the engine exposes.
@Calinou
Copy link
Member Author

Calinou commented Aug 14, 2023

Since 4.2.dev2 (and in latest master), I get the following error when using --run-benchmarks:

Running benchmark 1 of 159: core/callable/function_callable
ERROR: Parent node is busy adding/removing children, `remove_child()` can't be called at this time. Consider using `remove_child.call_deferred(child)` instead.
   at: remove_child (scene/main/node.cpp:1417)
Running benchmark 2 of 159: core/callable/lambda_inline_callable
SCRIPT ERROR: Cannot call method 'get_child_count' on a null value.
          at: run_test (res://manager.gd:117)
Running benchmark 3 of 159: core/callable/lambda_variable_callable
SCRIPT ERROR: Cannot call method 'get_child_count' on a null value.
          at: run_test (res://manager.gd:117)

This is consistently reproducible with any benchmark. If I use the GUI, the first error doesn't appear but subsequent script errors do.

@myaaaaaaaaa Do you know how this could be fixed? The only instances of remove_child in this project's codebase are in alloc.gd, which is only a single benchmark.

@Calinou
Copy link
Member Author

Calinou commented Aug 16, 2023

Tested on 4.2.dev c495eb510 following the merge of #35, all benchmarks run correctly.

@Calinou Calinou merged commit f8b40e1 into godotengine:main Aug 16, 2023
@Calinou Calinou deleted the add-various-benchmarks branch August 16, 2023 10:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants