in reply to for v. map v. pdl

Bonus question -- what exactly is the difference between the usr and the sys seconds in the Benchmark reported timings?

Benchmark

CPU seconds is, in UNIX terms, the user time plus the system time of the process itself, as opposed to the real (wallclock) time and the time spent by the child processes.
http://en.wikipedia.org/wiki/Time_%28Unix%29#User_Time_vs_System_Time
The term 'user CPU time' can be a bit misleading at first. To be clear, the total time (real CPU time) is the combination of the amount of time the CPU spends performing some action for a program and the amount of time the CPU spends performing system calls for the kernel on the program's behalf. When a program loops through an array, it is accumulating user CPU time. Conversely, when a program executes a system call such as exec or fork, it is accumulating system CPU time.