Runtime vs. memory usage
Oftentimes, better runtime can result in higher memory usage. Here is an example to create some strings to test bulk inserts on Redis: $cmd = ""; $start = microtime(true); for ($i=0; $i<1000000; $i+=2) $cmd .= "SET entity:".$i.":key value_".($i+1)."\r\n"; echo number_format(microtime(true)-$start, 1)."s\n"; // 0.7s echo number_format(memory_get_usage(true)/1048576, 1)." MB\n"; // 17.5 MB echo number_format(memory_get_peak_usage(true)/1048576, 1)." MB\n"; // 17.5 MB $cmd = ""; $start = microtime(true); $cmd = vsprintf(str_repeat("SET entity:%d:key value_%d\r\n", 500000), range(0,1000000)); echo number_format(microtime(true)-$start, 1)."s\n"; // 0.4s echo number_format(memory_get_usage(true)/1048576, 1)." MB\n"; // 30.8 MB echo number_format(memory_get_peak_usage(true)/1048576, 1)." MB\n"; // 128.5 MB (PHP 5.4.5, 2.5 GHz, win64) We see that the same result can be c...