Commit Graph

99 Commits

Author SHA1 Message Date
Hugo Locurcio
d96f13bd07 Merge pull request #24 from myaaaaaaaaa/allocator 2023-04-17 19:35:42 +02:00
myaaaaaaaaa
515bacf2a5 Add HLOD benchmarks 2023-03-27 18:08:52 -04:00
myaaaaaaaaa
18c55b334a Add allocator benchmarks 2023-03-27 17:44:59 -04:00
myaaaaaaaaa
8899918f83 Add lights and meshes benchmark 2023-03-27 17:40:24 -04:00
myaaaaaaaaa
6710e17b48 Condense some repetitive code in metrics tracking 2023-03-27 17:32:19 -04:00
myaaaaaaaaa
32b7e09a46 Round benchmark times to significant figures rather than fixed decimal locations 2023-03-27 17:32:19 -04:00
myaaaaaaaaa
e71ca7ea45 Allow the user to override command line arguments from the interface 2023-03-27 17:32:19 -04:00
myaaaaaaaaa
e399ef4eb5 Remove redundant Manager.run_from_cli 2023-03-27 17:32:19 -04:00
Hugo Locurcio
0c56e6b314 Merge pull request #22 from myaaaaaaaaa/sub-benchmarks 2023-03-27 21:45:26 +02:00
Hugo Locurcio
fd60cff132 Merge pull request #28 from myaaaaaaaaa/jq-trick 2023-03-27 21:44:16 +02:00
myaaaaaaaaa
3759b97638 Add tip for comparing benchmark results 2023-03-27 13:41:45 -04:00
myaaaaaaaaa
f8d528d44b Update CONTRIBUTING.md for new benchmark format 2023-02-04 22:18:06 -05:00
myaaaaaaaaa
640199c78d Consolidate benchmarks and port to new API 2023-02-04 22:18:06 -05:00
myaaaaaaaaa
0fedc97bb1 Rework benchmark API to use functions rather than scenes as the base unit 2023-02-04 22:15:59 -05:00
Hugo Locurcio
234bd8ecc0 Merge pull request #19 from Mach565/polygon2D 2022-12-07 18:38:48 +01:00
Mach565
8430c47b1e Add Sprite2D benchmarks 2022-12-07 18:35:48 +01:00
Hugo Locurcio
1d019796f6 Merge pull request #20 from myaaaaaaaaa/refactor-coroutine 2022-12-07 18:14:24 +01:00
Hugo Locurcio
3ad4fd5b69 Merge pull request #21 from myaaaaaaaaa/refactor-arguments 2022-12-07 18:06:03 +01:00
myaaaaaaaaa
6446ee834a Condense some repetitive code in command line argument handling 2022-12-06 20:05:12 -05:00
myaaaaaaaaa
fd69d2d492 Remove five more global variables from manager.gd 2022-12-06 18:33:28 -05:00
myaaaaaaaaa
35c0154537 Refactor benchmark code in manager.gd to use coroutines 2022-12-06 14:51:41 -05:00
Mach565
c669c2e9bc Add Polygon2D benchmarks 2022-12-03 17:40:12 +11:00
Hugo Locurcio
0e4f9582bd Merge pull request #17 from Calinou/add-engine-binary-size-metric 2022-10-24 15:57:02 +02:00
Hugo Locurcio
cc27b99bdf Store engine binary size in benchmark result files
This can be used for binary size comparisons over time. Build type
is now more granular (editor, debug template, release template) as
this will be needed for fair binary size comparisons.
2022-10-17 17:12:00 +02:00
Hugo Locurcio
f1f594c51d Merge pull request #16 from Calinou/add-save-json-to-file 2022-09-12 15:03:46 +02:00
Hugo Locurcio
86bbebd66d Implement saving results JSON file using --save-json CLI argument
- Save operating system and CPU name in results JSON.
2022-09-12 03:25:24 +02:00
Juan Linietsky
1f3e4140b6 Merge pull request #13 from Calinou/improve-benchmark-ui
Improve benchmark UI and settings for consistency
2022-09-02 18:22:22 +02:00
Hugo Locurcio
e74abb3604 Improve benchmark UI and settings for consistency
- Use a fixed 1920×1080 viewport size for consistent results.
- Hardcode the benchmark duration to 5 seconds for benchmarks that
  have a time limit for consistent results.
- Move the Select All and Select None button next to the "Available Benchmarks:"
  label, as they're closer to the checkboxes this way.
- Make buttons larger to be easier to click.
- Only show the Copy JSON to Clipboard button after running benchmarks.
2022-09-02 17:18:51 +02:00
Juan Linietsky
36a8dcf7f1 Merge pull request #12 from Calinou/improve-benchmark-registration
Improve benchmark registration
2022-09-02 17:02:32 +02:00
Hugo Locurcio
9831ab3c6d Improve benchmark registration
- Automatically register benchmarks based on `.tscn` files found in the
  `benchmarks/` folder.
  - `manager.gd` no longer needs to be edited every time a benchmark is added.
- Use full path for include/exclude glob instead of just the last category's name.
- Move benchmarks to a subfolder.
- Position the benchmark label away from the window's edges for better readability,
  and increase its outline size.
- Run the dynamic light cull with shadows benchmark
  (there was a `.tscn` file but it was unused).
2022-08-22 23:01:35 +02:00
Hugo Locurcio
d8ff5116c2 Merge pull request #10 from Calinou/add-include-exclude-benchmarks-cli-arguments 2022-08-12 17:25:45 +02:00
Hugo Locurcio
fb514f8e22 Add command line arguments to include/exclude specific benchmarks
- Automatically quit on end when using `--run-benchmarks` CLI argument.
- Improve command line printing to be more helpful and descriptive.
- Add documentation on running benchmarks in the README.
2022-08-05 02:33:04 +02:00
Hugo Locurcio
d26efe3afc Merge pull request #7 from Calinou/add-cli-support 2022-04-18 19:01:14 +02:00
Hugo Locurcio
4fbc50c8f8 Implement running benchmarks from the command line with --run-benchmarks
- Change window title every time a new benchmark is run to indicate
  progress.
- Tweak UI display to fit changes in the `master` branch.
2022-04-18 19:00:51 +02:00
Juan Linietsky
f68fea8d99 Merge pull request #6 from Calinou/improve-json-copy
Improve JSON copy, improve debug label, tweak code style
2022-04-18 18:27:10 +02:00
Juan Linietsky
8b4f514eec Merge pull request #8 from Calinou/add-project-icon
Add a project icon
2022-04-18 18:27:04 +02:00
Juan Linietsky
c6781e486a Merge pull request #9 from Calinou/add-contributing-guide
Add a guide on contributing new benchmarks
2022-04-18 18:26:56 +02:00
Hugo Locurcio
b167b99931 Add a guide on contributing new benchmarks 2021-12-08 18:39:08 +01:00
Hugo Locurcio
c0d077d697 Add a project icon 2021-12-07 15:27:39 +01:00
Hugo Locurcio
e147a9fea9 Improve JSON copy, improve debug label, tweak code style
- JSON is now generated using the JSON class and includes Godot version
  information, CPU information and GPU information. Its base structure
  has changed.
- Tweak debug label visibility and mention frame setup time within.
- Tweak code style to follow the GDScript style guide (and fix a typo
  in `benchmark_group`).
2021-12-07 12:37:53 +01:00
Juan Linietsky
75caabb5ae Merge pull request #4 from Calinou/add-gdscript-tests
Add initial GDScript tests
2021-12-06 11:22:13 -03:00
Hugo Locurcio
b416f5792a Add initial GDScript tests
- Add wall clock time measurement on benchmarks.
- Allow tests to not have a predefined time limit.
  - This is required for scripting tests.
- Fix culling tests not reporting GPU time.
2021-11-29 14:43:11 +01:00
Juan Linietsky
f9233ca755 Merge pull request #3 from reduz/copy-json
Add ability to copy JSON
2020-12-24 00:31:56 -03:00
Juan Linietsky
c62659ab24 Add ability to copy JSON 2020-12-24 00:31:01 -03:00
Juan Linietsky
51b912f084 Merge pull request #2 from reduz/new-benchmarks
Add a benchmarking suite
2020-12-24 00:03:02 -03:00
Juan Linietsky
2dd866ef42 Add a benchmarking suite
-Culling benchmarks only for now
2020-12-24 00:00:45 -03:00
Juan Linietsky
4caa449b59 Merge pull request #1 from reduz/initial-cleanup
Use same license as in other projects, add gitignore
2020-12-23 18:33:22 -03:00
Juan Linietsky
c3754cd85e Use same license as in other projects, add gitignore 2020-12-23 18:17:38 -03:00
Juan Linietsky
147be83482 Initial commit 2020-12-23 18:04:51 -03:00