Skip to content

Instantly share code, notes, and snippets.

View andrey-legayev's full-sized avatar
💻

Andriy Legayev andrey-legayev

💻
View GitHub Profile
@andrey-legayev
andrey-legayev / js_set_benchmark.js
Created November 2, 2019 22:08
JS Benchmark: test performance of Set()
function test(size, iterations) {
let data_array = [];
let data_obj = {};
for (let i = 0; i < size; i++) {
let rnd = Math.floor(Math.random() * size * 10);
data_array.push(rnd);
data_obj[rnd] = true;
}
@andrey-legayev
andrey-legayev / perf-test.py
Last active November 2, 2019 21:36
Python benchmark: is set() really fast?
import sys
import random
import time
# fetch python version string
version = str(sys.version).split(" ", 2)[0]
# define get_time() function
if sys.version_info.major == 3:
def get_time():
@andrey-legayev
andrey-legayev / perf-test.php
Last active October 22, 2019 10:39
PHP benchmark: String concatenation vs. Array join()
<?php
function str_concat($size)
{
$result = "";
for ($i = 0; $i < $size; $i++) {
$result .= (string)rand() . "\n";
}
return $result;
}
@andrey-legayev
andrey-legayev / perf-test.php
Last active January 7, 2024 21:24
PHP benchmark: in_array() vs. binary search in sorted array
<?php
/**
* Binary search - search element in sorted array of values and return true/false
*
* @param $value
* @param $array array
* @return bool
*/
function in_array_binary($value, array &$array)
@andrey-legayev
andrey-legayev / perf-test.php
Created October 7, 2019 08:44
PHP benchmark: array_flip() performance dependent on array size
<?php
function test($size)
{
// prepare arrays
$plain = [];
for ($i = 0; $i < $size; $i++) {
$value = rand();
array_push($plain, $value);
}
@andrey-legayev
andrey-legayev / perf-test.php
Last active October 1, 2019 08:32
PHP benchmark: in_array() vs. isset() vs. array_key_exists()
<?php
function test($size, $iterations)
{
// prepare arrays
$plain = [];
$assoc = [];
for ($i = 0; $i < $size; $i++) {
$value = rand();
array_push($plain, $value);