Skip to content

Commit 2f375ff

Browse files
committed
Disable lua gc before running benchmarks
1 parent 4b134f7 commit 2f375ff

File tree

6 files changed

+44
-4
lines changed

6 files changed

+44
-4
lines changed

bench.lua

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,22 @@ function create_space(config)
2222
space = box.schema.space.create(config.space_name, {id = config.space_id, temporary = true})
2323
space:create_index('primary', {type = 'tree', parts = {1, 'unsigned'}, sequence = true})
2424
space:format({{name = 'id', type = 'unsigned'}, {name = 'name', type = 'string', is_nullable = false}})
25-
26-
return space
2725
end
2826

2927
function load_fixtures(config)
30-
local space = create_space(config)
28+
local space = box.space[config.space_name]
3129

3230
for i = 1, config.row_count do
3331
space:replace{i, 'tuple_' .. i}
3432
end
3533
end
34+
35+
function stop_gc()
36+
collectgarbage('collect')
37+
collectgarbage('stop')
38+
end
39+
40+
function restart_gc()
41+
collectgarbage('collect')
42+
collectgarbage('restart')
43+
end

benchmarks/Bench.php

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,27 @@
1515
* @OutputMode("throughput")
1616
* @OutputTimeUnit("seconds")
1717
* @Executor("template")
18+
* @BeforeMethods({"stopLuaGc"})
19+
* @AfterMethods({"restartLuaGc"})
1820
*/
1921
abstract class Bench
2022
{
23+
public function stopLuaGc() : void
24+
{
25+
Client::fromOptions(['uri' => self::getEnv('TNT_BENCH_TARANTOOL_URI')])
26+
->call('stop_gc');
27+
}
28+
29+
public function restartLuaGc() : void
30+
{
31+
Client::fromOptions(['uri' => self::getEnv('TNT_BENCH_TARANTOOL_URI')])
32+
->call('restart_gc');
33+
}
34+
2135
final protected static function resetSchema() : void
2236
{
2337
Client::fromOptions(['uri' => self::getEnv('TNT_BENCH_TARANTOOL_URI')])
24-
->evaluate('create_space(...)', Config::all());
38+
->call('create_space', Config::all());
2539
}
2640

2741
final protected static function loadFixtures() : void

benchmarks/ClientBench.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public function evaluate() : array
4848
*/
4949
public function select() : array
5050
{
51+
self::resetSchema();
5152
self::loadFixtures();
5253

5354
return [
@@ -76,6 +77,7 @@ public function insert() : array
7677
*/
7778
public function replace() : array
7879
{
80+
self::resetSchema();
7981
self::loadFixtures();
8082

8183
return [
@@ -90,6 +92,7 @@ public function replace() : array
9092
*/
9193
public function update() : array
9294
{
95+
self::resetSchema();
9396
self::loadFixtures();
9497

9598
return [
@@ -104,6 +107,7 @@ public function update() : array
104107
*/
105108
public function upsert() : array
106109
{
110+
self::resetSchema();
107111
self::loadFixtures();
108112

109113
return [
@@ -118,6 +122,7 @@ public function upsert() : array
118122
*/
119123
public function delete() : array
120124
{
125+
self::resetSchema();
121126
self::loadFixtures();
122127

123128
return [

benchmarks/ClientHandlerBench.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ public function evaluate() : array
4949
*/
5050
public function select() : array
5151
{
52+
self::resetSchema();
5253
self::loadFixtures();
5354

5455
return [
@@ -81,6 +82,7 @@ public function insert() : array
8182
*/
8283
public function replace() : array
8384
{
85+
self::resetSchema();
8486
self::loadFixtures();
8587

8688
return [
@@ -97,6 +99,7 @@ public function replace() : array
9799
*/
98100
public function update() : array
99101
{
102+
self::resetSchema();
100103
self::loadFixtures();
101104

102105
return [
@@ -113,6 +116,7 @@ public function update() : array
113116
*/
114117
public function upsert() : array
115118
{
119+
self::resetSchema();
116120
self::loadFixtures();
117121

118122
return [
@@ -129,6 +133,7 @@ public function upsert() : array
129133
*/
130134
public function delete() : array
131135
{
136+
self::resetSchema();
132137
self::loadFixtures();
133138

134139
return [

benchmarks/ClientSqlBench.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ public function ping() : array
2424
*/
2525
public function select() : array
2626
{
27+
self::resetSchema();
2728
self::loadFixtures();
2829

2930
return [
@@ -52,6 +53,7 @@ public function insert() : array
5253
*/
5354
public function update() : array
5455
{
56+
self::resetSchema();
5557
self::loadFixtures();
5658

5759
return [
@@ -66,6 +68,7 @@ public function update() : array
6668
*/
6769
public function delete() : array
6870
{
71+
self::resetSchema();
6972
self::loadFixtures();
7073

7174
return [

benchmarks/TarantoolBench.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ public function evaluate() : array
4848
*/
4949
public function select() : array
5050
{
51+
self::resetSchema();
5152
self::loadFixtures();
5253

5354
return [
@@ -76,6 +77,7 @@ public function insert() : array
7677
*/
7778
public function replace() : array
7879
{
80+
self::resetSchema();
7981
self::loadFixtures();
8082

8183
return [
@@ -90,6 +92,7 @@ public function replace() : array
9092
*/
9193
public function update() : array
9294
{
95+
self::resetSchema();
9396
self::loadFixtures();
9497

9598
return [
@@ -104,6 +107,7 @@ public function update() : array
104107
*/
105108
public function upsert() : array
106109
{
110+
self::resetSchema();
107111
self::loadFixtures();
108112

109113
return [
@@ -118,6 +122,7 @@ public function upsert() : array
118122
*/
119123
public function delete() : array
120124
{
125+
self::resetSchema();
121126
self::loadFixtures();
122127

123128
return [

0 commit comments

Comments
 (0)