'blakdlajsfdlkajfds;lasjkflaksjf', 'two' => 'asdfkljasfkjsadfas;jdfas ldfjk', 'three' => 'alk;sjdfasklfjaslf;ja', 'four' => '6', 'five' => 2, 'six' => 12314 ); $start = microtime(true); for ($i = 0, $size = 100000; $i < $size; ++$i) { $pulled = faster_version($source, array('one', 'three', 'five')); } $time1 = microtime(true) - $start; $start = microtime(true); for ($i = 0, $size = 100000; $i < $size; ++$i) { $pulled = array_subset_of_the_array_based_on_a_list_of_keys($source, array('one', 'three', 'five')); } $time2 = microtime(true) - $start; echo "time1: $time1\ntime2: $time2\n";