Frage

lfind / lsearch eine bessere Leistung als eine typische Looping Lösung, dass die Kontrollen jedes Element bis es passt? Gibt es eine spezielle Soße / Grund, dass diese Funktionen gibt es?

War es hilfreich?

Lösung

Wahrscheinlich sind sie nicht mehr effizient, dass eine Homebrew-Version, vielleicht sogar ein bisschen weniger, da die Vergleichsfunktion nicht inlined werden kann.

Aber das ist sicherlich nicht der Punkt mit ihnen. Sie vervollständigen die API der anderen Suchfunktionen, insbesondere bsearch und tsearch.

Andere Tipps

Messen!

Sie können nur über die Leistung von Mess wissen. Die Dinge sind auf Ihrem Computer auf jeden Fall anders und ich (ich kann auch keine POSIX compiant Compiler messen kann nicht lfind selbst hat). Thinks sind unterschiedlich zwischen verschiedenen Läufen eines Programms.

Also, wenn Sie wissen müssen, versuchen sowohl die lfind und Homebrew-Methoden und Maßnahme mehrmals.

Wie auch immer ... C Bibliotheksfunktionen können nicht in C geschrieben wurden. Wenn Ihr lfind in Python geschrieben würde ich wette, es langsamer wäre als eine Homebrew-Methode:)

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top