Mengapa menghitung waktu eksekusi skrip? . Dalam pemrograman PHP dapat dilakukan dengan mengambil nilai dari fungsi microtime(), tentunya ditambahkan parameter boolean dengan nilai true sehingga nilai yang dikembalikan berupa float, karena jika tidak ada parameter yang diberikan maka nilai kembalian dari fungsi ini adalah string
Cara termudah adalah dengan membuat variabel dari nilai kembalian fungsi microtime() di awal perintah yang akan dieksekusi, lalu ambil nilai yang sama lagi di bawah perintah untuk dieksekusi dengan variabel lain, dan selisih nilainya dari variabel terakhir dan yang pertama diambil adalah waktu eksekusi skrip. Seperti di bawah ini
Kode di atas cukup sederhana, disini saya mencoba membuat sebuah class untuk menghitung waktu eksekusi dari sebuah script yang ingin kita uji, agar bisa digunakan untuk membuat perbandingan.
/* * * (f) ExecTime.php * (d) Menghitung lama eksekusi sebuah perintah * (l) GPL * (a) emaniacs * */ class ExecTime { private $_start=null; // penanda bahwa object tidak bisa dipakai lagi. private $_finish=false; public function __construct($autoStart=true) { if ($autoStart) $this->start(); } public function start() { $this->_start = microtime (true); } public function end() { // ambil end time $end = microtime(true); if ($this->_finish) return false; /* cek apakah start telah didefinisikan * jika belum return array kosong */ if (is_null ($this->_start)) return array(); // set perbedaan waktu $diff = $end - $this->_start; $ret = array ( 'start' => $this->_start, 'end' => $end, 'diff' => $diff, ); // hapus nilai _start $this->_flush(); return $ret; } public function restart() { $this->start(); $this->_finish = false; } private function _flush() { $this->_start = null; } } ?> _Sekarang saya membuat file PHP untuk menghitung perbandingan proses eksekusi array menggunakan for dengan foreach
Bagikan ke FacebookBagikan ke TwitterBagikan ke Linkedin
Ahmad Muhardian · 26 Juli 2016
Membuat Generator id Unik seperti id Video YouTube di PHP1. Mengambil Nilai Unik dari Fungsi Waktu
Kita dapat menggunakan fungsi microtime()_ atau fungsi time() untuk mendapatkan nilai unik. Nilai ini akan selalu berubah dari waktu ke waktuDari percobaan di atas, fungsi microtime() mengembalikan nilai unik setiap kali dipanggil. Sementara itu, fungsi time()_ akan mengembalikan nilai unik setiap detik
Saya sarankan menggunakan fungsi microtime()_, karena fungsi ini mengembalikan nilai unik per milidetik
2. Konversi Nilai Unik
Sebenarnya, kita bisa saja menggunakan nilai pengembalian dari microtime() dan time() untuk membuat id unik. Tapi, karena kita ingin membuat ID seperti YouTube, kita harus mengubahnya menjadi bentuk lain. Kita dapat menggunakan fungsi base_convert() untuk membuatnya.Fungsibase_convert() Sebenarnya untuk mengubah dasar suatu nilai. Pada contoh di atas, parameter numerik <?php
$id = base_convert(microtime(false), 10, 36);
mysqli_query($koneksi, “INSERT INTO video (id, judul, url) VALUE (’$id’,‘Petani Kode - Intro’,‘petani-kode.mp4’)”);
?>1 adalah panjang dari nilai yang dihasilkan. Sedangkan bilangan <?php
$id = base_convert(microtime(false), 10, 36);
mysqli_query($koneksi, “INSERT INTO video (id, judul, url) VALUE (’$id’,‘Petani Kode - Intro’,‘petani-kode.mp4’)”);
?>_2 adalah alasnya.
Contoh lain, panjang <?php
$id = base_convert(microtime(false), 10, 36);
mysqli_query($koneksi, “INSERT INTO video (id, judul, url) VALUE (’$id’,‘Petani Kode - Intro’,‘petani-kode.mp4’)”);
?>3 dengan basis <?php
$id = base_convert(microtime(false), 10, 36);
mysqli_query($koneksi, “INSERT INTO video (id, judul, url) VALUE (’$id’,‘Petani Kode - Intro’,‘petani-kode.mp4’)”);
?>4 (bilangan heksadesimal)
3. Generator kode
Kita sudah mendapatkan apa yang kita inginkan, sekarang kita buat kode generatornya. Pada generator ini kita menggunakan alas <?php$id = base_convert(microtime(false), 10, 36);
mysqli_query($koneksi, “INSERT INTO video (id, judul, url) VALUE (’$id’,‘Petani Kode - Intro’,‘petani-kode.mp4’)”);
?>_2 dengan panjang <?php
$id = base_convert(microtime(false), 10, 36);
mysqli_query($koneksi, “INSERT INTO video (id, judul, url) VALUE (’$id’,‘Petani Kode - Intro’,‘petani-kode.mp4’)”);
?>1
<?php
$id = base_convert(microtime(false), 10, 36);
?>_Kita dapat menggunakan variabel untuk penyimpanan dalam tabel database. Contoh
<?php
$id = base_convert(microtime(false), 10, 36);
mysqli_query($koneksi, “INSERT INTO video (id, judul, url) VALUE (’$id’,‘Petani Kode - Intro’,‘petani-kode.mp4’)”);
?>Basis <?php
$id = base_convert(microtime(false), 10, 36);
mysqli_query($koneksi, “INSERT INTO video (id, judul, url) VALUE (’$id’,‘Petani Kode - Intro’,‘petani-kode.mp4’)”);
?>2 artinya. ‘<?php
$id = base_convert(microtime(false), 10, 36);
mysqli_query($koneksi, “INSERT INTO video (id, judul, url) VALUE (’$id’,‘Petani Kode - Intro’,‘petani-kode.mp4’)”);
?>8’ = <?php
$id = base_convert(microtime(false), 10, 36);
mysqli_query($koneksi, “INSERT INTO video (id, judul, url) VALUE (’$id’,‘Petani Kode - Intro’,‘petani-kode.mp4’)”);
?>2 karat
Kesimpulan
ID unik untuk kunci utama seperti YouTube dibuat dari konversi nilai unik dari fungsi microtime() atau time() menjadi bentuk dasar <?php$id = base_convert(microtime(false), 10, 36);
mysqli_query($koneksi, “INSERT INTO video (id, judul, url) VALUE (’$id’,‘Petani Kode - Intro’,‘petani-kode.mp4’)”);
?>2. Konversi basis nilai menggunakan fungsi base_convert()
Referensi. Tumpukan Luapan