`shell` is the current shell from which you executed your `time` statement. `children` is a summary of all running processes started from (and still owned by) that shell. `user` and `system` show the amount of CPU seconds the above processes spent in user mode and kernel mode, respectively. See https://blog.codinghorror.com/understanding-user-and-kernel-mode/ for more info. `cpu` shows the combined values of `user` and `system`, as a percentage of total CPU time. `total` shows how long ago the shell or its oldest child process was started (here in minutes:seconds.fraction). --- If you prepend a command with `time` (which is how it's more often used), then the shell will report time statistics only for that command: ```zsh % time sleep 0 sleep 0 0.00s user 0.00s system 43% cpu 0.007 total ``` (`total` here is the total number of seconds it took for the command to complete.) --- Note all of the above is for the _reserved word_ `time` in [tag:zsh]. There is also an _external command_ time on macOS, which produces slightly different output: ```zsh % command time % command time sleep 0 0.00 real 0.00 user 0.00 sys % command time -p sleep 0 real 0.00 user 0.00 sys 0.00 % command time -l sleep 0 0.00 real 0.00 user 0.00 sys 585728 maximum resident set size 0 average shared memory size 0 average unshared data size 0 average unshared stack size 160 page reclaims 0 page faults 0 swaps 0 block input operations 0 block output operations 0 messages sent 0 messages received 0 signals received 0 voluntary context switches 1 involuntary context switches 2198249 instructions retired 3195521 cycles elapsed 237568 peak memory footprint % ``` (`real` here is the same as `total`, above.)