{
	"article_slug": "moving-10000-agents-in-godot",
	"citation_status": "reviewed benchmark evidence; cite only with matching article conditions",
	"config": {
		"agent_count": 5000,
		"cell_size_px": 16.0,
		"field_step_budget": 1536,
		"frame_budget_ms": 16.6,
		"goal_schedule": "relocates every 180 frames, fixed cells from AgentGrid.default_benchmark_goal_cells()",
		"grid_size": "256x256",
		"physics_fps": 60,
		"runs": 1,
		"sample_frames": 3,
		"sampling_note": "warmup/sample/runs above are shared defaults; the actual per-mode sampling is recorded in modes[].sampling (naive may run lighter -- its per-frame cost is near-stationary per goal position; its per-frame work is unchanged).",
		"seed": 1234,
		"warmup_frames": 0
	},
	"generated_utc": "2026-06-14T05:36:21",
	"godot_version": "4.6.2-stable (official)",
	"measurement_scope": "5000 moving agents, shared goal, naive vs scheduled. Deterministic native benchmark run, no input. Not a product-wide claim.",
	"mode_filter": "naive",
	"modes": [
		{
			"build_completion_latency_frames": {

			},
			"build_completion_latency_ms": {

			},
			"build_completion_samples_median_run": 0,
			"description": "every agent calls AStarGrid2D.get_id_path() every physics frame",
			"field_rebuilds_median_run": 0,
			"frame_time_ms": {
				"max": 7773.866,
				"median": 7733.651,
				"p95": 7773.866,
				"p99": 7773.866
			},
			"frames_over_budget_pct": 100.0,
			"mode": "naive",
			"queries_per_frame_avg": 5000.0,
			"rebuild_cost_ms_median_run": {

			},
			"rebuild_frames_median_run": 0,
			"runs": [
				{
					"build_completion_latency_frames": {

					},
					"build_completion_latency_ms": {

					},
					"build_completion_samples": 0,
					"field_rebuilds": 0,
					"frame_time_ms": {
						"max": 7773.866,
						"median": 7733.651,
						"p95": 7773.866,
						"p99": 7773.866
					},
					"frames_over_budget_pct": 100.0,
					"queries_per_frame_avg": 5000.0,
					"query_samples": {
						"max": 5000,
						"median": 5000
					},
					"rebuild_cost_ms": {

					},
					"rebuild_frames": 0,
					"run_index": 0,
					"sample_frames": 3,
					"seed": 1234,
					"steady_frame_time_ms": {
						"max": 7773.866,
						"median": 7733.651,
						"p95": 7773.866,
						"p99": 7773.866
					},
					"steady_frames_over_budget_pct": 100.0,
					"total_queries": 15000
				}
			],
			"sampling": {
				"runs": 1,
				"sample_frames": 3,
				"warmup_frames": 0
			},
			"steady_frame_time_ms": {
				"max": 7773.866,
				"median": 7733.651,
				"p95": 7773.866,
				"p99": 7773.866
			},
			"steady_frames_over_budget_pct": 100.0,
			"total_queries_median_run": 15000
		}
	],
	"os_name": "Windows",
	"processor_name": "AMD Ryzen 5 2600X Six-Core Processor",
	"run_profile": "full"
}
