Mempercepat Perintah find -exec
Posted on
> time find . -type f -exec ls -lah {} \;
real 0m21.421s
user 0m12.262s
sys 0m8.926s
> time find . -type f -exec ls -lah {} +
real 0m0.268s
user 0m0.106s
sys 0m0.153s
Hanya dengan mengganti \;
dengan +
dapat mempercepat sebesar 79.929104478x
Kok bisa begitu? karena:
-exec ls -lah {} \;
Menjalankanls -lah
untuk setiap file yang ditemukan, satu-satu.-exec ls -lah {} +
Mengumpulkan path file yang ditemukan jadi satu baru kemudian menjalankanls -lah
satu kali sekaligus. Tapi ini ada batasannya, daftar path file tidak boleh melebihi batas argument sistem. Kalau di linux batasnya sebesar nilaigetconf ARG_MAX