Skip to content

Commit f500d78

Browse files
author
Kirill Nesmeyanov
committed
Move benchmarks to separate directory
1 parent c3256bf commit f500d78

15 files changed

+59
-32
lines changed

.gitattributes

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,15 @@
33
*.pp2 eol=lf linguist-language=EBNF
44

55
.editorconfig export-ignore
6-
.php-cs-fixer.php export-ignore
76
.gitattributes export-ignore
87
.gitignore export-ignore
98

9+
.php-cs-fixer.php export-ignore
1010
phpunit.xml export-ignore
11-
psalm.xml export-ignore
11+
phpstan.neon export-ignore
1212
rector.php export-ignore
1313

1414
/.github export-ignore
15+
/bench export-ignore
1516
/example export-ignore
1617
/tests export-ignore

.github/workflows/bench.yml

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,13 +24,15 @@ jobs:
2424
uses: shivammathur/setup-php@v2
2525
with:
2626
php-version: ${{ matrix.php }}
27-
- name: Validate Composer
28-
run: composer validate
2927
- name: Install Dependencies
3028
uses: nick-invision/retry@v2
3129
with:
3230
timeout_minutes: 5
3331
max_attempts: 5
34-
command: composer update --prefer-dist --no-interaction --no-progress
32+
command: |
33+
cd bench
34+
composer update --prefer-dist --no-interaction --no-progress
3535
- name: Run Benchmarks
36-
run: composer bench
36+
run: |
37+
cd bench
38+
composer bench

bench/.gitignore

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
composer.lock
2+
3+
var/
4+
vendor/

bench/composer.json

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
{
2+
"require": {
3+
"php": "^8.1",
4+
"psr/simple-cache": "^1.0|^2.0|^3.0",
5+
"type-lang/parser": "^1.2",
6+
"type-lang/printer": "^1.2"
7+
},
8+
"autoload": {
9+
"psr-4": {
10+
"TypeLang\\Mapper\\": "../src",
11+
"TypeLang\\Mapper\\Bench\\": "src"
12+
}
13+
},
14+
"require-dev": {
15+
"cuyz/valinor": "^1.13",
16+
"jms/serializer": "^3.30",
17+
"phpbench/phpbench": "^1.3",
18+
"phpdocumentor/reflection-docblock": "^5.4",
19+
"phpdocumentor/type-resolver": "^1.8",
20+
"symfony/cache": "^5.4|^6.0|^7.0",
21+
"symfony/property-access": "^7.1",
22+
"symfony/serializer": "^7.1",
23+
"type-lang/phpdoc": "^1.0",
24+
"type-lang/phpdoc-standard-tags": "^1.0"
25+
},
26+
"scripts": {
27+
"bench": "phpbench run --report=grouped"
28+
},
29+
"minimum-stability": "dev",
30+
"prefer-stable": true
31+
}

phpbench.json renamed to bench/phpbench.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"$schema":"./vendor/phpbench/phpbench/phpbench.schema.json",
33
"runner.bootstrap": "vendor/autoload.php",
4-
"runner.path": "tests/Bench",
4+
"runner.path": "src",
55
"runner.progress": "plain",
66
"runner.file_pattern": "*Bench.php",
77
"runner.php_config": {
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace TypeLang\Mapper\Tests\Bench;
5+
namespace TypeLang\Mapper\Bench;
66

77
interface BenchInterface
88
{

tests/Bench/CachedDenormalizationBench.php renamed to bench/src/CachedDenormalizationBench.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace TypeLang\Mapper\Tests\Bench;
5+
namespace TypeLang\Mapper\Bench;
66

77
use CuyZ\Valinor\MapperBuilder;
88
use JMS\Serializer\SerializerBuilder;
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
declare(strict_types=1);
44

5-
namespace TypeLang\Mapper\Tests\Bench;
5+
namespace TypeLang\Mapper\Bench;
66

77
use CuyZ\Valinor\MapperBuilder;
88
use CuyZ\Valinor\Normalizer\Format;
@@ -29,7 +29,7 @@
2929
use TypeLang\Mapper\Mapping\Driver\Psr16CachedDriver;
3030
use TypeLang\Mapper\Mapping\Driver\ReflectionDriver;
3131
use TypeLang\Mapper\Platform\StandardPlatform;
32-
use TypeLang\Mapper\Tests\Bench\Stub\ExampleRequestDTO;
32+
use TypeLang\Mapper\Bench\Stub\ExampleRequestDTO;
3333

3434
#[Revs(50), Warmup(5), Iterations(30), RetryThreshold(5), BeforeMethods('prepare')]
3535
final class CachedNormalizationBench extends NormalizationBench
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,14 @@
22

33
declare(strict_types=1);
44

5-
namespace TypeLang\Mapper\Tests\Bench;
5+
namespace TypeLang\Mapper\Bench;
66

77
use CuyZ\Valinor\Mapper\Source\Source;
88
use CuyZ\Valinor\Mapper\TreeMapper;
99
use JMS\Serializer\ArrayTransformerInterface;
1010
use Symfony\Component\Serializer\Normalizer\DenormalizerInterface as SymfonyDenormalizerInterface;
1111
use TypeLang\Mapper\DenormalizerInterface as TypeLangDenormalizerInterface;
12-
use TypeLang\Mapper\Tests\Bench\Stub\ExampleRequestDTO;
12+
use TypeLang\Mapper\Bench\Stub\ExampleRequestDTO;
1313

1414
abstract class DenormalizationBench implements BenchInterface
1515
{
Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@
22

33
declare(strict_types=1);
44

5-
namespace TypeLang\Mapper\Tests\Bench;
5+
namespace TypeLang\Mapper\Bench;
66

77
use CuyZ\Valinor\Normalizer\Normalizer;
88
use JMS\Serializer\ArrayTransformerInterface;
99
use Symfony\Component\Serializer\Normalizer\NormalizerInterface as SymfonyNormalizerInterface;
1010
use TypeLang\Mapper\NormalizerInterface as TypeLangNormalizerInterface;
11-
use TypeLang\Mapper\Tests\Bench\Stub\ExampleRequestDTO;
11+
use TypeLang\Mapper\Bench\Stub\ExampleRequestDTO;
1212

1313
abstract class NormalizationBench implements BenchInterface
1414
{

0 commit comments

Comments
 (0)