Skip to content

Commit

Permalink
Ragdoll benchmark (#838)
Browse files Browse the repository at this point in the history
It turns out emscripten compiles fine on WSL.
Added benchmark for ragdolls.
Created shared library for code shared by samples, benchmarks, and unit
tests.
Now samples and benchmarks can run off the same code.
Fix solver set leak (thanks Melvyn)
Pinned imgui and glfw versions
  • Loading branch information
erincatto authored Nov 16, 2024
1 parent 90c2781 commit a9f2c92
Show file tree
Hide file tree
Showing 62 changed files with 1,183 additions and 1,480 deletions.
2 changes: 2 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,8 @@ if(PROJECT_IS_TOP_LEVEL)
GIT_PROGRESS TRUE
)
FetchContent_MakeAvailable(enkits)

add_subdirectory(shared)
endif()

# Tests need static linkage because they test internal Box2D functions
Expand Down
21 changes: 7 additions & 14 deletions benchmark/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -1,23 +1,16 @@
# Box2D benchmark app

add_executable(benchmark
main.c
joint_grid.c
large_pyramid.c
many_pyramids.c
smash.c
spinner.c
tumbler.c
set(BOX2D_BENCHMARK_FILES
main.c
)
add_executable(benchmark ${BOX2D_BENCHMARK_FILES})

set_target_properties(benchmark PROPERTIES
C_STANDARD 17
C_STANDARD_REQUIRED YES
C_EXTENSIONS NO
)
set_target_properties(benchmark PROPERTIES C_STANDARD 17)

if (MSVC)
target_compile_options(benchmark PRIVATE /experimental:c11atomics)
endif()

target_link_libraries(benchmark PRIVATE box2d enkiTS)
target_link_libraries(benchmark PRIVATE box2d shared enkiTS)

source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} PREFIX "" FILES ${BOX2D_BENCHMARK_FILES})
16 changes: 8 additions & 8 deletions benchmark/amd7950x_avx2/joint_grid.csv
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
threads,fps
1,335.038
2,638.117
3,938.253
4,1211.86
5,1495.94
6,1719.76
7,1964.31
8,2148.41
1,200.145
2,340.128
3,496.707
4,607.243
5,698.173
6,782.174
7,856.148
8,916.514
16 changes: 8 additions & 8 deletions benchmark/amd7950x_avx2/large_pyramid.csv
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
threads,fps
1,334.105
2,617.266
3,895.838
4,1131.52
5,1338.68
6,1503.01
7,1686.74
8,1721.57
1,325.321
2,615.892
3,878.262
4,1111.8
5,1322.39
6,1511.06
7,1719
8,1738.61
16 changes: 8 additions & 8 deletions benchmark/amd7950x_avx2/many_pyramids.csv
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
threads,fps
1,85.2506
2,163.857
3,241.226
4,309.927
5,369.713
6,431.47
7,496.292
8,547.372
1,83.1212
2,162.42
3,238.035
4,307.18
5,374.76
6,432.28
7,501.138
8,544.638
9 changes: 9 additions & 0 deletions benchmark/amd7950x_avx2/rain.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
threads,fps
1,154.443
2,249.524
3,323.318
4,384.953
5,434.035
6,483.406
7,527.558
8,556.645
16 changes: 8 additions & 8 deletions benchmark/amd7950x_avx2/smash.csv
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
threads,fps
1,180.404
2,284.615
3,364.465
4,441.008
5,495.098
6,538.398
7,578.614
8,610.615
1,197.528
2,300.994
3,385.163
4,455.355
5,508.735
6,553.648
7,589.206
8,614.934
9 changes: 9 additions & 0 deletions benchmark/amd7950x_avx2/spinner.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
threads,fps
1,346.759
2,538.038
3,710.87
4,871.698
5,983.994
6,1084.08
7,1178.67
8,1242.13
16 changes: 8 additions & 8 deletions benchmark/amd7950x_avx2/tumbler.csv
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
threads,fps
1,385.465
2,604.521
3,790.813
4,934.896
5,1088.09
6,1192.74
7,1276.24
8,1346.88
1,464.164
2,705.539
3,932.064
4,1133.55
5,1297.75
6,1444.39
7,1563.34
8,1633.51
9 changes: 9 additions & 0 deletions benchmark/amd7950x_avx2_nc/joint_grid.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
threads,fps
1,196.348
2,335.206
3,493.878
4,598.194
5,691.697
6,776.717
7,848.272
8,910.073
9 changes: 9 additions & 0 deletions benchmark/amd7950x_avx2_nc/large_pyramid.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
threads,fps
1,326.839
2,605.397
3,874.098
4,1108.62
5,1311.67
6,1500.33
7,1684.32
8,1736.04
9 changes: 9 additions & 0 deletions benchmark/amd7950x_avx2_nc/many_pyramids.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
threads,fps
1,84.1153
2,163.509
3,240.109
4,302.481
5,368.738
6,428.312
7,498.302
8,545.101
9 changes: 9 additions & 0 deletions benchmark/amd7950x_avx2_nc/rain.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
threads,fps
1,161.863
2,276.688
3,358.757
4,434.589
5,500.599
6,563.324
7,620.21
8,672.701
9 changes: 9 additions & 0 deletions benchmark/amd7950x_avx2_nc/smash.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
threads,fps
1,190.875
2,302.452
3,391.787
4,472.507
5,531.519
6,582.197
7,623.562
8,654.127
9 changes: 9 additions & 0 deletions benchmark/amd7950x_avx2_nc/spinner.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
threads,fps
1,344.368
2,562.345
3,738.154
4,916.335
5,1049.29
6,1167.4
7,1280.44
8,1362.46
9 changes: 9 additions & 0 deletions benchmark/amd7950x_avx2_nc/tumbler.csv
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
threads,fps
1,449.556
2,717.776
3,934.15
4,1136.18
5,1315.11
6,1470.1
7,1599.57
8,1700.46
84 changes: 0 additions & 84 deletions benchmark/joint_grid.c

This file was deleted.

55 changes: 0 additions & 55 deletions benchmark/large_pyramid.c

This file was deleted.

Loading

0 comments on commit a9f2c92

Please sign in to comment.