Permalink
Commits on Sep 26, 2018
  1. Optimize IOrderedEnumerable.Take(1) (#32389)

    AndreyAkinshin authored and stephentoub committed Sep 26, 2018
    Calls like array.OrderBy(x => x).Take(1) use EnumerableSorter.ElementAt that
    invokes QuickSelect. Take(1) is just the Minimum for OrderedEnumerable and can
    be implemented more efficiently. The Minimum-based implementation has a big
    impact on the worst case time complexity: now it's O(N) instead of O(N^2).
Commits on Jun 17, 2018
  1. mach_absolute_time as the primary clock source on macOS (#30391) (#30457

    AndreyAkinshin authored and stephentoub committed Jun 17, 2018
    )
    
    macOS 10.12+ supports clock_gettime (HAVE_CLOCK_MONOTONIC is defined)
    However, mach_absolute_time has better resolution and should be used
    as the primary clock source.
Commits on Dec 3, 2014
Commits on Nov 25, 2014
  1. Fast implementation of Hamming weight

    AndreyAkinshin committed Nov 25, 2014
    The target method: System.Reflection.Internal.BitArithmetic.CountBits
    Old implementation uses 24 arithmetic operations
    New fast implementation uses 12 arithmetic operations
Commits on Nov 12, 2014
  1. Removing redundant comparison with "null" ((!(obj is Vector)) is supe…

    AndreyAkinshin committed Nov 12, 2014
    …rset condition for (obj == null))