On Friday, 7 August 2015 at 04:23:21 UTC, Ali Çehreli wrote:
Do you want to see SortedRange 1700 times faster? ;)

On 08/06/2015 05:35 PM, Tofu Ninja wrote:> void main()

>          auto temp = assumeSorted(a).find(f);

SortedRange does not have a find() member. What happens is, it goes to find() algorithm. Replace that line with

        auto temp = assumeSorted(a).equalRange(f);
        writefln("found: %s", temp.front);

New result:

found: 102400000
found: 102400000
Sorted  83235
Regular 141392157
Ratio   0.000588682

Ali

Hmm.... I feel like I have read on the forums like a million times that certain parts of std.algorithm was specialized for sorted ranges, I guess that was just talk...

Still does not really explain why find is slower on the assumeSorted version.

Reply via email to