POSIX lfind () / lsearch () работает лучше, чем зацикливание вручную? - PullRequest
2 голосов
/ 11 сентября 2010

Работают ли lfind / lsearch лучше, чем обычное решение для зацикливания, которое проверяет каждый элемент на соответствие?Есть ли особый соус / причина, по которой эти функции существуют?

Ответы [ 2 ]

2 голосов
/ 11 сентября 2010

Возможно, они не более эффективны, чем домашняя версия, может быть, даже немного меньше, поскольку функция сравнения не может быть встроена.

Но с ними, конечно, не в этом дело. Они дополняют API других функций поиска, в частности bsearch и tsearch.

1 голос
/ 11 сентября 2010

Измерить!

Вы можете узнать о производительности только путем измерения. Вещи определенно различаются на вашем компьютере и на моем (у меня может даже не быть компилятора POSIX, который я не могу измерить lfind сам). Думает по-разному между различными запусками программы.

Итак, если вам нужно знать, попробуйте оба метода: lfind и homebrew и измерьте несколько раз.

В любом случае ... C библиотечные функции, возможно, не были написаны в C. Если бы ваш lfind был написан в Python, я бы поспорил, что это будет медленнее, чем домашний метод :))

...