<?php
$numbers = range ( 32 , 127 ) ; $numbersLetters = array_map ( 'chr' , $numbers ) ;
for ( ;; ) {
$numbersLetters = array_merge ( $numbersLetters , $numbersLetters ) ;
if ( count ( $numbersLetters ) > 10000 ) { break ;
}
}
printf ( "Sample size: %d elements in 2 arrays (%d total) \n " , count ( $numbers ) , count ( $numbers ) + count ( $numbersLetters ) ) ; printf ( "Benchmarking speed in foreach + in_array() scenario... (this might take a while) " ) ;
foreach ( $numbers as $number ) {
if ( in_array ( $number , $numbersLetters ) ) { } }
printf ( "Time elapsed: %.5f \n " , $t2 - $t1 ) ;
// =============================------------===============================
printf ( "Benchmarking speed with array_intersect..." ) ;
printf ( "Time elapsed: %.5f \n " , $t2 - $t1 ) ;
PD9waHAKJG51bWJlcnMgPSByYW5nZSgzMiwgMTI3KTsKJG51bWJlcnNMZXR0ZXJzID0gYXJyYXlfbWFwKCdjaHInLCAkbnVtYmVycyk7Cgpmb3IgKDs7KSB7CiAgICAkbnVtYmVyc0xldHRlcnMgPSBhcnJheV9tZXJnZSgkbnVtYmVyc0xldHRlcnMsICRudW1iZXJzTGV0dGVycyk7CgogICAgaWYgKGNvdW50KCRudW1iZXJzTGV0dGVycykgPiAxMDAwMCkgewogICAgICAgIGJyZWFrOwogICAgfQp9CgokbnVtYmVycyA9IHJhbmdlKDEsIGNvdW50KCRudW1iZXJzTGV0dGVycykpOwoKcHJpbnRmKCJTYW1wbGUgc2l6ZTogJWQgZWxlbWVudHMgaW4gMiBhcnJheXMgKCVkIHRvdGFsKSBcbiIsIGNvdW50KCRudW1iZXJzKSwgY291bnQoJG51bWJlcnMpICsgY291bnQoJG51bWJlcnNMZXR0ZXJzKSk7CnByaW50ZigiQmVuY2htYXJraW5nIHNwZWVkIGluIGZvcmVhY2ggKyBpbl9hcnJheSgpIHNjZW5hcmlvLi4uICh0aGlzIG1pZ2h0IHRha2UgYSB3aGlsZSkgIik7CgpzaHVmZmxlKCRudW1iZXJzKTsKc2h1ZmZsZSgkbnVtYmVyc0xldHRlcnMpOwoKJHQxID0gbWljcm90aW1lKHRydWUpOwoKZm9yZWFjaCAoJG51bWJlcnMgYXMgJG51bWJlcikgewogICAgaWYgKGluX2FycmF5KCRudW1iZXIsICRudW1iZXJzTGV0dGVycykpIHt9Cn0KCiR0MiA9IG1pY3JvdGltZSh0cnVlKTsKCnByaW50ZigiRE9ORSFcbiIpOwpwcmludGYoIlRpbWUgZWxhcHNlZDogJS41ZiBcbiIsICR0MiAtICR0MSk7CgovLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PS0tLS0tLS0tLS0tLT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KCnByaW50ZigiQmVuY2htYXJraW5nIHNwZWVkIHdpdGggYXJyYXlfaW50ZXJzZWN0Li4uIik7CgpzaHVmZmxlKCRudW1iZXJzKTsKc2h1ZmZsZSgkbnVtYmVyc0xldHRlcnMpOwoKJHQxID0gbWljcm90aW1lKHRydWUpOwoKYXJyYXlfaW50ZXJzZWN0KCRudW1iZXJzLCAkbnVtYmVyc0xldHRlcnMpOwoKJHQyID0gbWljcm90aW1lKHRydWUpOwoKcHJpbnRmKCJET05FIVxuIik7CnByaW50ZigiVGltZSBlbGFwc2VkOiAlLjVmIFxuIiwgJHQyIC0gJHQxKTs=