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 node hierarchy benchmarks #24

Merged
merged 1 commit into from
Apr 17, 2023
Merged

Add node hierarchy benchmarks #24

merged 1 commit into from
Apr 17, 2023

Conversation

myaaaaaaaaa
Copy link
Contributor

@myaaaaaaaaa myaaaaaaaaa commented Jan 28, 2023

Benchmarks different patterns of creating node hierarchies and freeing them. Depends on #22

Implements two of the benchmarks from #11:

Core

  • Create 100,000 nodes (flat)
  • Create 100,000 nodes (nested as deep as possible)

@myaaaaaaaaa myaaaaaaaaa changed the title Add memory allocator benchmarks Add node hierarchy benchmarks Jan 28, 2023
@Calinou Calinou marked this pull request as ready for review March 27, 2023 19:47
Copy link
Member

@Calinou Calinou left a comment

Choose a reason for hiding this comment

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

Tested locally, it works. Local results for reference:

{
	"benchmarks": [
		{
			"category": "Gdscript > Alloc",
			"name": "Deep Tree",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 0,
				"render_gpu": 0,
				"time": 144
			}
		},
		{
			"category": "Gdscript > Alloc",
			"name": "Duplicate",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 0,
				"render_gpu": 0,
				"time": 975
			}
		},
		{
			"category": "Gdscript > Alloc",
			"name": "Fragmentation",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 0,
				"render_gpu": 0,
				"time": 1641
			}
		},
		{
			"category": "Gdscript > Alloc",
			"name": "Wide Tree",
			"results": {
				"idle": 0,
				"physics": 0,
				"render_cpu": 0,
				"render_gpu": 0,
				"time": 103
			}
		},
		{
			"category": "Gdscript > Array",
			"name": "Packed String Array",
			"results": {

			}
		},
		{
			"category": "Gdscript > Array",
			"name": "Typed Int Array",
			"results": {

			}
		},
		{
			"category": "Gdscript > Array",
			"name": "Typed String Array",
			"results": {

			}
		},
		{
			"category": "Gdscript > Array",
			"name": "Untyped Int Array",
			"results": {

			}
		},
		{
			"category": "Gdscript > Array",
			"name": "Untyped String Array",
			"results": {

			}
		},
		{
			"category": "Rendering > Culling",
			"name": "Basic Cull",
			"results": {

			}
		},
		{
			"category": "Rendering > Culling",
			"name": "Directional Light Cull",
			"results": {

			}
		},
		{
			"category": "Rendering > Culling",
			"name": "Dynamic Cull",
			"results": {

			}
		},
		{
			"category": "Rendering > Culling",
			"name": "Dynamic Light Cull",
			"results": {

			}
		},
		{
			"category": "Rendering > Culling",
			"name": "Dynamic Light Cull With Shadows",
			"results": {

			}
		},
		{
			"category": "Rendering > Culling",
			"name": "Static Light Cull",
			"results": {

			}
		},
		{
			"category": "Rendering > Polygon 2d",
			"name": "1000 Polygon 2d",
			"results": {

			}
		},
		{
			"category": "Rendering > Polygon 2d",
			"name": "100 Polygon 2d",
			"results": {

			}
		},
		{
			"category": "Rendering > Polygon 2d",
			"name": "10 Polygon 2d",
			"results": {

			}
		},
		{
			"category": "Rendering > Polygon 2d",
			"name": "5000 Sprite 2d",
			"results": {

			}
		},
		{
			"category": "Rendering > Polygon 2d",
			"name": "500 Sprite 2d",
			"results": {

			}
		},
		{
			"category": "Rendering > Polygon 2d",
			"name": "50 Sprite 2d",
			"results": {

			}
		}
	],
	"engine": {
		"binary_size": 116431872,
		"build_type": "editor",
		"version": "v4.0.2.stable.official",
		"version_hash": "7a0977ce2c558fe6219f0a14f8bd4d05aea8f019"
	},
	"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"
	}
}

Thanks!

@Calinou Calinou merged commit d96f13b into godotengine:main Apr 17, 2023
@myaaaaaaaaa myaaaaaaaaa deleted the allocator branch April 17, 2023 22:42
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.

2 participants