Skip to content

Commit d2d14b0

Browse files
committed
Fixes for psalm actions and benchmark
1 parent 2e2825e commit d2d14b0

3 files changed

Lines changed: 90 additions & 8 deletions

File tree

bench/benchmark.php

Lines changed: 80 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ function printResult(string $label, array $metrics, string $key, int $tabs = 1,
9797
unset($buf);
9898

9999
// buffer with LZ4
100-
if(function_exists('lz4_compress')){
100+
if(extension_loaded('lz4')){
101101
$start = microtime(true);
102102
$memBefore = memory_get_usage(true);
103103
$buf = new LargeArrayBuffer(128, compression: LargeArrayBuffer::COMPRESSION_LZ4);
@@ -118,7 +118,7 @@ function printResult(string $label, array $metrics, string $key, int $tabs = 1,
118118
unset($buf);
119119
}
120120

121-
if(function_exists('igbinary_serialize')){
121+
if(extension_loaded('igbinary')){
122122
// normal buffer with igbinary
123123
$start = microtime(true);
124124
$memBefore = memory_get_usage(true);
@@ -160,7 +160,7 @@ function printResult(string $label, array $metrics, string $key, int $tabs = 1,
160160
unset($buf);
161161

162162
// buffer with LZ4 and igbinary
163-
if(function_exists('lz4_compress')){
163+
if(extension_loaded('lz4')){
164164
$start = microtime(true);
165165
$memBefore = memory_get_usage(true);
166166
$buf = new LargeArrayBuffer(128, serializer: LargeArrayBuffer::SERIALIZER_IGBINARY, compression: LargeArrayBuffer::COMPRESSION_LZ4);
@@ -182,6 +182,70 @@ function printResult(string $label, array $metrics, string $key, int $tabs = 1,
182182
}
183183
}
184184

185+
if(extension_loaded('msgpack')){
186+
// normal buffer with msgpack
187+
$start = microtime(true);
188+
$memBefore = memory_get_usage(true);
189+
$buf = new LargeArrayBuffer(128, serializer: LargeArrayBuffer::SERIALIZER_MSGPACK);
190+
$bench->bufferMeasurementsFill($buf);
191+
$metrics['fill_buffer_mp'][] = [
192+
'time' => microtime(true) - $start,
193+
'mem' => memory_get_usage(true) - $memBefore,
194+
'size' => $buf->getSize()
195+
];
196+
197+
$start = microtime(true);
198+
$bench->bufferMeasurementsIterate($buf);
199+
$metrics['iterate_buffer_mp'][] = [
200+
'time' => microtime(true) - $start,
201+
'mem' => memory_get_usage(true) - $memBefore,
202+
'size' => $buf->getSize()
203+
];
204+
unset($buf);
205+
206+
// buffer with GZIP and msgpack
207+
$start = microtime(true);
208+
$memBefore = memory_get_usage(true);
209+
$buf = new LargeArrayBuffer(128, serializer: LargeArrayBuffer::SERIALIZER_MSGPACK, compression: LargeArrayBuffer::COMPRESSION_GZIP);
210+
$bench->bufferMeasurementsFill($buf);
211+
$metrics['fill_buffer_gz_mp'][] = [
212+
'time' => microtime(true) - $start,
213+
'mem' => memory_get_usage(true) - $memBefore,
214+
'size' => $buf->getSize()
215+
];
216+
217+
$start = microtime(true);
218+
$bench->bufferMeasurementsIterate($buf);
219+
$metrics['iterate_buffer_gz_mp'][] = [
220+
'time' => microtime(true) - $start,
221+
'mem' => memory_get_usage(true) - $memBefore,
222+
'size' => $buf->getSize()
223+
];
224+
unset($buf);
225+
226+
// buffer with LZ4 and msgpack
227+
if(extension_loaded('lz4')){
228+
$start = microtime(true);
229+
$memBefore = memory_get_usage(true);
230+
$buf = new LargeArrayBuffer(128, serializer: LargeArrayBuffer::SERIALIZER_MSGPACK, compression: LargeArrayBuffer::COMPRESSION_LZ4);
231+
$bench->bufferMeasurementsFill($buf);
232+
$metrics['fill_buffer_lz4_mp'][] = [
233+
'time' => microtime(true) - $start,
234+
'mem' => memory_get_usage(true) - $memBefore,
235+
'size' => $buf->getSize()
236+
];
237+
238+
$start = microtime(true);
239+
$bench->bufferMeasurementsIterate($buf);
240+
$metrics['iterate_buffer_lz4_mp'][] = [
241+
'time' => microtime(true) - $start,
242+
'mem' => memory_get_usage(true) - $memBefore,
243+
'size' => $buf->getSize()
244+
];
245+
unset($buf);
246+
}
247+
}
248+
185249
unset($bench);
186250
}
187251

@@ -191,17 +255,27 @@ function printResult(string $label, array $metrics, string $key, int $tabs = 1,
191255
printResult('Iterate over buffer', $metrics, 'iterate_buffer', 3, true);
192256
printResult('Fill buffer (GZIP)', $metrics, 'fill_buffer_gz', 3, true);
193257
printResult('Iterate over buffer (GZIP)', $metrics, 'iterate_buffer_gz', 2, true);
194-
if(function_exists('lz4_compress')){
258+
if(extension_loaded('lz4')){
195259
printResult('Fill buffer (LZ4)', $metrics, 'fill_buffer_lz4', 3, true);
196260
printResult('Iterate over buffer (LZ4)', $metrics, 'iterate_buffer_lz4', 2, true);
197261
}
198-
if(function_exists('igbinary_serialize')){
262+
if(extension_loaded('igbinary')){
199263
printResult('Fill buffer (igbinary)', $metrics, 'fill_buffer_ig', 2, true);
200264
printResult('Iterate over buffer (igbinary)', $metrics, 'iterate_buffer_ig', 1, true);
201265
printResult('Fill buffer (GZIP, igbinary)', $metrics, 'fill_buffer_gz_ig', 2, true);
202266
printResult('Iterate over buffer (GZIP, igbinary)', $metrics, 'iterate_buffer_gz_ig', 1, true);
203-
if(function_exists('lz4_compress')){
267+
if(extension_loaded('lz4')){
204268
printResult('Fill buffer (LZ4, igbinary)', $metrics, 'fill_buffer_lz4_ig', 2, true);
205269
printResult('Iterate over buffer (LZ4, igbinary)', $metrics, 'iterate_buffer_lz4_ig', 1, true);
206270
}
207271
}
272+
if(extension_loaded('msgpack')){
273+
printResult('Fill buffer (msgpack)', $metrics, 'fill_buffer_mp', 2, true);
274+
printResult('Iterate over buffer (msgpack)', $metrics, 'iterate_buffer_mp', 1, true);
275+
printResult('Fill buffer (GZIP, msgpack)', $metrics, 'fill_buffer_gz_mp', 2, true);
276+
printResult('Iterate over buffer (GZIP, msgpack)', $metrics, 'iterate_buffer_gz_mp', 1, true);
277+
if(extension_loaded('lz4')){
278+
printResult('Fill buffer (LZ4, msgpack)', $metrics, 'fill_buffer_lz4_mp', 2, true);
279+
printResult('Iterate over buffer (LZ4, msgpack)', $metrics, 'iterate_buffer_lz4_mp', 1, true);
280+
}
281+
}

psalm.baseline.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
<UndefinedFunction>
55
<code>lz4_compress($serialized)</code>
66
<code>lz4_uncompress($compressed)</code>
7+
<code>msgpack_serialize($item)</code>
8+
<code>msgpack_unserialize($this->current)</code>
79
</UndefinedFunction>
810
</file>
911
</files>

test/LargeArrayBufferTest.php

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,10 @@ public static function provideConfig(): \Generator {
5656
}
5757
}
5858

59-
#[DataProvider('provideConfig')]
59+
/**
60+
* @dataProvider provideConfig
61+
*/
62+
//#[DataProvider('provideConfig')]
6063
public function testReadWrite(int $serializer, int $compression): void {
6164
$o = self::getObject();
6265
$buf = new LargeArrayBuffer(serializer: $serializer, compression: $compression);
@@ -66,7 +69,10 @@ public function testReadWrite(int $serializer, int $compression): void {
6669
$this->assertEquals($o, $buf->current());
6770
}
6871

69-
#[DataProvider('provideConfig')]
72+
/**
73+
* @dataProvider provideConfig
74+
*/
75+
//#[DataProvider('provideConfig')]
7076
public function testLoop(int $serializer, int $compression): void {
7177
$count = 1500;
7278
$buf = new LargeArrayBuffer(serializer: $serializer, compression: $compression);

0 commit comments

Comments
 (0)