ENOPATCH

On 1 May 2016 at 15:21, Eelis <ee...@eelis.net> wrote:
> Sorry, forgot to include the libstdc++ list.
>
> On 2016-05-01 16:18, Eelis wrote:
>>
>> Hi,
>>
>> The attached patch optimizes std::shuffle for the very common case
>> where the generator range is large enough that a single invocation
>> can produce two swap positions.
>>
>> This reduces the runtime of the following testcase by 37% on my machine:
>>
>>      int main()
>>      {
>>          std::mt19937 gen;
>>
>>          std::vector<int> v;
>>          v.reserve(10000);
>>          for (int i = 0; i != 10000; ++i)
>>          {
>>              v.push_back(i);
>>              std::shuffle(v.begin(), v.end(), gen);
>>          }
>>
>>          std::cout << v.front() << '\n';
>>      }
>>
>> Thoughts?
>>
>> Thanks,
>>
>> Eelis
>>
>
>

Reply via email to