3 ms·
What's bad about cat(1)?
by jjc4p 15y ago
What's bad about cat(1)?
- shabble 15y agoNothing, except it's entirely unnecessary for this task. See "Useless use of cat awards" from days of yore: http://partmaps.org/era/unix/award.html#uucaletter http://partmaps.org/era/unix/award.html#uucaletter
- truncate 15y agoI still prefer cat, as one simple mistake of < to > and the file is gone.
- adobriyan 15y agoOP intends to measure time to read data from file and maybe it process into internal representation. cat(1) almost certainly internally buffers data (32KB here) thus context switches occurs. Shell creates pipe which is buffered inside kernel. All of this muffles measurements. What was one or several read(2) calls + processing is now one or several calls of maybe smaller sizes + whatever scheduling differences + in one of the examples OP used /usr/bin/time of the whole thing also. This is of course is not visible because data were dumbed down by using time() which has horrible granularity, but when finer grained timer it'd be visible, I'm sure.