Skip to content

Commit 4560e67

Browse files
committed
Add Command run benchmark
1 parent 92e1c1f commit 4560e67

File tree

1 file changed

+20
-2
lines changed

1 file changed

+20
-2
lines changed

benchmark/DriverBench/SingleDocBench.php

Lines changed: 20 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
use Generator;
66
use MongoDB\Benchmark\BaseBench;
77
use MongoDB\BSON\Document;
8+
use MongoDB\Driver\Command;
89
use PhpBench\Attributes as Bench;
910

1011
use function array_map;
@@ -20,6 +21,16 @@ public function prepareDatabase(): void
2021
self::getCollection()->drop();
2122
}
2223

24+
/** @see https://github.com/mongodb/specifications/blob/ddfc8b583d49aaf8c4c19fa01255afb66b36b92e/source/benchmarking/benchmarking.rst#run-command */
25+
public function benchRunCommand(): void
26+
{
27+
$manager = self::createClient()->getManager();
28+
29+
for ($i = 0; $i < 10_000; $i++) {
30+
$manager->executeCommand(self::getDatabase(), new Command(['hello' => true]));
31+
}
32+
}
33+
2334
public function setupFindOneById(): void
2435
{
2536
$tweet = self::readJsonFile(self::TWEET_FILE_PATH);
@@ -38,7 +49,10 @@ public static function provideFindOneByIdParams(): Generator
3849
];
3950
}
4051

41-
/** @param array{options: array} $params */
52+
/**
53+
* @see https://github.com/mongodb/specifications/blob/ddfc8b583d49aaf8c4c19fa01255afb66b36b92e/source/benchmarking/benchmarking.rst#find-one-by-id
54+
* @param array{options: array} $params
55+
*/
4256
#[Bench\BeforeMethods('setupFindOneById')]
4357
#[Bench\ParamProviders('provideFindOneByIdParams')]
4458
#[Bench\Revs(1)]
@@ -74,7 +88,11 @@ public static function provideInsertOneParams(): Generator
7488
];
7589
}
7690

77-
/** @param array{document: object|array, repeat: int} $params */
91+
/**
92+
* @see https://github.com/mongodb/specifications/blob/ddfc8b583d49aaf8c4c19fa01255afb66b36b92e/source/benchmarking/benchmarking.rst#small-doc-insertone
93+
* @see https://github.com/mongodb/specifications/blob/ddfc8b583d49aaf8c4c19fa01255afb66b36b92e/source/benchmarking/benchmarking.rst#large-doc-bulk-insert
94+
* @param array{document: object|array, repeat: int} $params
95+
*/
7896
#[Bench\ParamProviders('provideInsertOneParams')]
7997
#[Bench\Revs(1)]
8098
public function benchInsertOne(array $params): void

0 commit comments

Comments
 (0)