( nns | 2011. 03. 25., p – 00:02 )

Azt azért vedd figyelembe, hogy awk-nál minden memóriában megy míg a sort a háttérben egy temp file-ba dolgozik.

Nem hiszem, hogy a sorba rendezés és a hash tábla felépítése ugyanannyira lenne költséges, mert a hashnál természetéből fakadóan lehet hatékonyabb tárolást (visszakeresésre és elem beszúrásra optimalizált) csinálni, míg a sorba rendezést egy strukturálatlan adathalmazon kell végrehajtani. Innen fakadnak a hash limitációi is. Ajánlom figyelmedbe a hasító függvények működését.

Nálam egy ~20k soros file-on kb 10szeres az awk előnye.

nns@nnspc:/usr/share/doc/chromium-browser$ wc -l copyright
19231 copyright

nns@nnspc:/usr/share/doc/chromium-browser$ time sort -u copyright >/dev/null

real 0m0.412s
user 0m0.380s
sys 0m0.008s
nns@nnspc:/usr/share/doc/chromium-browser$ time awk '{a[$0]}; END {for (i in a) {print i}}' copyright >/dev/null

real 0m0.034s
user 0m0.020s
sys 0m0.008s