folly: Range: implement find_first_of and optimize qfind(Range, char)
authorLucian Grijincu <lucian@fb.com>
Tue, 18 Sep 2012 07:55:16 +0000 (00:55 -0700)
committerJordan DeLong <jdelong@fb.com>
Fri, 12 Oct 2012 04:33:03 +0000 (21:33 -0700)
commit0010b30e696ac1e68bb3eb7992c328fd3214437c
treed8c3fc7c184a20ed4024b1419de98367c5b10f21
parent4e745261077a9dd4b38f9ae9168b4adb60b0e552
folly: Range: implement find_first_of and optimize qfind(Range, char)

Summary:
implement ##find_first_of## and optimize ##Range.find(char)##

============================================================================
folly/test/RangeBenchmark.cpp                   relative  time/iter  iters/s
============================================================================
LongFindSingleCharDirect                                     2.76ms   362.63
LongFindSingleCharRange                           15.88%    17.37ms    57.58
ShortFindSingleCharDirect                                   53.41fs   18.72T
ShortFindSingleCharRange                           0.00%    29.22ns   34.22M
============================================================================

Test Plan:
- added new tests

- ran all folly tests

fbconfig -r folly/ && mkk runtests_opt

Reviewed By: tudorb@fb.com

FB internal diff: D576720
folly/Range.h
folly/test/RangeFindBenchmark.cpp [new file with mode: 0644]
folly/test/RangeTest.cpp