@@ -65,17 +65,45 @@ jobs:
65
65
- name : Start MySQL
66
66
run : sudo /etc/init.d/mysql start
67
67
68
- - name : Run benchmarks - mysql
68
+ - name : Run benchmarks
69
69
run : |
70
+ echo "## Default run" > benchmark.md
70
71
hyperfine --warmup 1 --export-markdown bench-mysql.md -n 'mysql-main' './bench-main -runs 2 -backend mysql' -n 'mysql-pr' './bench-pr -runs 2 -backend mysql'
71
72
hyperfine --warmup 1 --export-markdown bench-sqlite.md -n 'sqlite-main' './bench-main -runs 2 -backend sqlite' -n 'sqlite-pr' './bench-pr -runs 2 -backend sqlite'
72
73
hyperfine --warmup 1 --export-markdown bench-redis.md -n 'redis-main' './bench-main -runs 2 -backend redis' -n 'redis-pr' './bench-pr -runs 2 -backend redis'
73
- cat bench-mysql.md > benchmark.md
74
+ cat bench-mysql.md >> benchmark.md
74
75
echo $'\n' >> benchmark.md
75
76
cat bench-sqlite.md >> benchmark.md
76
77
echo $'\n' >> benchmark.md
77
78
cat bench-redis.md >> benchmark.md
78
79
80
+ - name : Run large benchmarks
81
+ if : github.event.issue.pull_request && contains(github.event.comment.body, '!large')
82
+ run : |
83
+ echo "## Large payload run (1MB)" >> benchmark.md
84
+ hyperfine --show-output --warmup 1 --export-markdown bench-mysql-l.md -n 'mysql-main' './bench-main -resultsize 1000000 -runs 2 -backend mysql -timeout 240s' -n 'mysql-pr' './bench-pr -resultsize 1000000 -runs 2 -backend mysql -timeout 240s'
85
+ hyperfine --show-output --warmup 1 --export-markdown bench-sqlite-l.md -n 'sqlite-main' './bench-main -resultsize 1000000 -runs 2 -backend sqlite -timeout 240s' -n 'sqlite-pr' './bench-pr -resultsize 1000000 -runs 2 -backend sqlite -timeout 240s'
86
+ hyperfine --show-output --warmup 1 --export-markdown bench-redis-l.md -n 'redis-main' './bench-main -resultsize 1000000 -runs 2 -backend redis -timeout 240s' -n 'redis-pr' './bench-pr -resultsize 1000000 -runs 2 -backend redis -timeout 240s'
87
+ cat bench-mysql-l.md >> benchmark.md
88
+ echo $'\n' >> benchmark.md
89
+ cat bench-sqlite-l.md >> benchmark.md
90
+ echo $'\n' >> benchmark.md
91
+ cat bench-redis-l.md >> benchmark.md
92
+
93
+
94
+ - name : Run very large benchmarks
95
+ if : github.event.issue.pull_request && contains(github.event.comment.body, '!verylarge')
96
+ run : |
97
+ echo "## Large payload run (5MB)" >> benchmark.md
98
+ hyperfine --show-output --warmup 1 --export-markdown bench-mysql-l.md -n 'mysql-main' './bench-main -resultsize 5000000 -runs 2 -backend mysql -timeout 240s' -n 'mysql-pr' './bench-pr -resultsize 5000000 -runs 2 -backend mysql -timeout 240s'
99
+ hyperfine --show-output --warmup 1 --export-markdown bench-sqlite-l.md -n 'sqlite-main' './bench-main -resultsize 5000000 -runs 2 -backend sqlite -timeout 240s' -n 'sqlite-pr' './bench-pr -resultsize 5000000 -runs 2 -backend sqlite -timeout 240s'
100
+ hyperfine --show-output --warmup 1 --export-markdown bench-redis-l.md -n 'redis-main' './bench-main -resultsize 5000000 -runs 2 -backend redis -timeout 240s' -n 'redis-pr' './bench-pr -resultsize 5000000 -runs 2 -backend redis -timeout 240s'
101
+ cat bench-mysql-l.md >> benchmark.md
102
+ echo $'\n' >> benchmark.md
103
+ cat bench-sqlite-l.md >> benchmark.md
104
+ echo $'\n' >> benchmark.md
105
+ cat bench-redis-l.md >> benchmark.md
106
+
79
107
- name : Write a new comment
80
108
uses : peter-evans/create-or-update-comment@v2
81
109
continue-on-error : true
0 commit comments