Özellikle Baloo ile Dolphin'e baktığımda, basit bir dosya adı araması yapsanız bile, arama alanındaki her dosyanın meta verilerini aramak gibi görünüyor. Ben iz zaman file.sosüreci, ben çağrıları bakın lstat, getxattrve getxattryine her dosya için ve hatta için ..girişler. Bu sistem çağrıları, dosya adından farklı bir konumda depolanan dosya hakkındaki meta verileri alır (dosya adı dizin içeriğinde depolanır, ancak meta veriler inode'dur ). Bir dosyanın meta verilerini birden çok kez sorgulamak, veriler disk önbelleğinde olacağı için ucuzdur, ancak meta verileri sorgulamakla meta verileri sorgulamak arasında önemli bir fark olabilir.
findçok daha zeki. Gereksiz sistem çağrılarından kaçınmaya çalışır. Bu demeyeceksin getxattruzatılabilir niteliklere dayalı aramaz çünkü. Bir dizine geçtiğinde, lstateşleşmeyen dosya adlarını çağırması gerekebilir, çünkü yinelemeli olarak arama yapmak için bir alt dizin olabilir ( lstatnormal / directory / symlink /… gibi dosya türünü içeren dosya meta verilerini döndüren sistem çağrısıdır). Bununla birlikte find, bir optimizasyon vardır: bir dizinin bağlantı sayısından kaç tane alt dizini lstatolduğunu bilir ve tüm alt dizinleri geçtiğini bildiğinde bir kez daha durur . Özellikle, bir yaprak dizininde (alt dizinleri olmayan bir dizin),findyalnızca verileri denetler, meta verileri değil. Ayrıca, bazı dosya sistemleri, dizin girişindeki dosya türünün bir kopyasını tutar; böylece, findihtiyaç lstatduyduğu tek bilgi buysa, aramasına gerek kalmaz .
findMeta verileri kontrol etmeyi gerektiren seçeneklerle çalışırsanız , daha fazla lstatarama yapar, ancak lstatbilgiye ihtiyaç duymuyorsa dosyada arama yapmaz (örneğin, dosya önceki bir koşulun dışında tutulduğu için) ismin eşleşmesi).
findTekerleği yeniden icat eden diğer GUI arama araçlarının, onlarca yıl süren optimizasyondan geçen komut satırı yardımcı programından benzer şekilde daha az akıllı olduğundan şüpheleniyorum . Dolphin, en azından, “her yerde” arama yaparsanız (veri tabanındaki sonuçların güncel olamayacağı konusunda bir sınırlama olmadan) bulma veritabanını kullanacak kadar zekidir.