Benchmark Kütüphanesi


    × Bunları biliyor muydunuz?
"Kontrolcü yöntemlerine parametre olarak enjekte edilen sınıfların örneklerine aynı zamanda görünmlerinden de erişebilirsiniz."


Benchmark kütüphanesi, yazacağınız sistemin veya kodların performansını test etmek amacıyla oluşturulmuştur.

 

 

# Kurulum


ZN SE ve ZN CE dağıtımları için terminal kurulum komutu.

↓ composer require znframework/package-comparison

 

 

# Yöntemler


Void start(String $test)
Void end(String $test)
This run(Callable $callback)
Float elapsedTime(String $result, Int $decimal = 4)
Int memoryUsage(Bool $realMemory = false)
Int maxMemoryUsage(Bool $realMemory = false)
Int calculatedMemory(String $result)
Array usedFiles(String $result = NULL)
Int usedFileCount(String $result = NULL)

 

 

# Start (ZN >= 0.0.1)


Testi başlatır.

Parametreler

String $test Test adı.
Return Void

Kullanımı

Benchmark::start('test');
# your codes
Benchmark::end('test');

 

 

# End (ZN >= 0.0.1)


Testi bitirir.

Parametreler

String $test Test adı.
Return Void

Kullanımı

Benchmark::start('test');
     # your codes
Benchmark::end('test');

Benchmark::start('test1');
     # your codes
Benchmark::end('test1');

 

 

# Run (ZN >= 4.0.1)


Benchmark::start() ve Benchmark::end() yöntemlerinin yaptığı işlemi yapar.

Parametreler

Callable $callback Performansı ölçülecek kodlar.
Return This

Opsiyonel Yöntemler

This result()

Kullanımı

File: Controller/TestController.php
<?php namespace Project\Controllers;

use Benchmark, DB;

class TestController extends Controller
{
    public function main(String $params = NULL)
    {
        $bench = Benchmark::run(function()
        {
            DB::get('users')->result();
        });

        output($bench->result());
    }
}
elapsedTime => double 0.0162 ( length = 6 )
calculatedMemory => double 407640 ( length = 6 )
usedFileCount => integer 18 ( length = 2 )
usedFiles => object
(
        129 => string 'Internal/Libraries/Database/DBInternalDB.php' ( length = 107 )
        130 => string 'Internal/Libraries/Database/DBInternalDB.php' ( length = 72 )
        131 => string 'Internal/Libraries/Database/Connection.php' ( length = 69 )
        132 => string 'Internal/Libraries/Database/ConnectionInterface.php' ( length = 78 )
        133 => string 'Internal/Libraries/Database/Database/DBTraitsVariableTypesTrait.php' ( length = 87 )
        134 => string 'Internal/Libraries/Database/Database/DBTraitsStatementsTrait.php' ( length = 84 )
        135 => string 'Internal/Libraries/Database/DBTraitsFunctionsTrait.php' ( length = 83 )
        136 => string 'Internal/Libraries/Database/DBInternalDBInterface.php' ( length = 81 )
        137 => string 'Projects/Example/Config/Database.php' ( length = 63 )
        138 => string 'Projects/Example/Resources/Statics/Internal/Libraries/Individual/Structures/Support/InternalSupport.php' ( length = 129 )
        139 => string 'Internal/Libraries/IndividualStructures/Support/InternalSupport.php' ( length = 94 )
        140 => string 'Internal/Libraries/Requirements/Controllers/CallController.php' ( length = 89 )
        141 => string 'Internal/Libraries/IndividualStructures/Support/InternalSupportInterface.php' ( length = 103 )
        142 => string 'Internal/Libraries/Database/DriversPDOPDO.php' ( length = 74 )
        143 => string 'Internal/Libraries/Database/DriverConnectionMappingAbstract.php' ( length = 90 )
        144 => string 'Internal/Libraries/Database/Properties.php' ( length = 69 )
        145 => string 'Internal/Libraries/Database/DriversPDODriversMySQL.php' ( length = 84 )
        146 => string 'Internal/Libraries/Database/DriversPDODriverInterface.php' ( length = 86 )

 

 

# ElapsedTime (ZN >= 0.0.1)


Test sonunda geçen süreyi öğrenmek için kullanılır.

Parametreler

String $test Test adı.
Int $decimal = 4 Ondalıklı rakam adeti.
Return Float

Kullanımlar

\Output::writeLine( Benchmark::elapsedTime('test', 5) );
\Output::writeLine( Benchmark::elapsedTime('test1', 6) );
0.87320
0.429302

 

 

# MemoryUsage (ZN >= 0.0.1)


PHP kodlarının sistemde kaç byte yer kapladığını öğrenmek için kullanılır.

Parametreler

Bool $realMemory = false Gerçek hafıza miktarı hesaplansın mı?
Return Float

Kullanımlar

echo Converter::byte( Benchmark::memoryUsage() );
876.9 KB

 

 

# MaxMemoryUsage (ZN >= 0.0.1)


PHP kodlarına ayrılan maksimum bellek miktarını öğrenmek için kullanılır.

Parametreler

Bool $realMemory = false Gerçek hafıza miktarı hesaplansın mı?
Return Float

Kullanımlar

echo Converter::byte( Benchmark::maxMemoryUsage() );
1 MB

 

 

# CalculatedMemory (ZN >= 2.0.0)


Bir PHP kodunun bellekte ne kadar yer kapladığını hesaplamak için kullanılır.

Parametreler

String $test Test adı.
Return Float

Kullanımlar

echo Benchmark::calculatedMemory('test'); 
echo Benchmark::calculatedMemory('test1');
13882
12231
Uyarı: Bu yöntemin hesaplamaları %100 doğru sonuç vermeyebilir.

 

 

# UsedFiles (ZN >= 2.0.0)


Testte kullanılan dosyaların listesini dizi türünde çıktılar.

Parametreler

String $test Test adı.
Return Array

Kullanımlar

output( Benchmark::usedFiles('test1') );

 

 

# UsedFileCount (ZN >= 2.0.0)


Testte kullanılan dosyaların sayısını çıktılar.

Parametreler

String $test Test adı.
Return Int

Kullanımlar

echo Benchmark::usedFileCount('test1');
10