@@ -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,
191255printResult ('Iterate over buffer ' , $ metrics , 'iterate_buffer ' , 3 , true );
192256printResult ('Fill buffer (GZIP) ' , $ metrics , 'fill_buffer_gz ' , 3 , true );
193257printResult ('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+ }
0 commit comments