1. 07 Oct, 2018 1 commit
    • Benedikt Rascher-Friesenhausen's avatar
      Optimise `memcmp` for speed · e10a3463
      Benedikt Rascher-Friesenhausen authored
      I saw that in other parts of the `string` module iterations over `usize` were
      used to increase iteration speed.  In this patch I apply the same logic to
      `memcmp`.  With this change I measured a 7x speedup for `memcmp` on a ~1MB
      buffer (comparing two buffers with the same content) on my machine (i7-7500U),
      but I did not do any real world benchmarking for the change.  The increase in
      speed comes with the tradeoff of both increased complexity and larger generated
      assembly code for the function.
      
      I tested the correctness of the implementation by generating two randomly filled
      buffers and comparing the `memcmp` result of the old implementation against this
      new one.
      
      I ran the tests and currently currently three of them fail:
        - netdb (fails to run)
        - stdio/rename (fails to verify)
        - unistd/pipe (fails to verify)
      
      They do so though regardless of this change, so I don't think they are related.
      e10a3463
  2. 06 Oct, 2018 2 commits
  3. 05 Oct, 2018 2 commits
  4. 02 Oct, 2018 2 commits
  5. 29 Sep, 2018 4 commits
  6. 26 Sep, 2018 6 commits
  7. 25 Sep, 2018 4 commits
  8. 24 Sep, 2018 1 commit
  9. 23 Sep, 2018 4 commits
  10. 22 Sep, 2018 2 commits
  11. 21 Sep, 2018 4 commits
  12. 20 Sep, 2018 2 commits
  13. 19 Sep, 2018 1 commit
  14. 18 Sep, 2018 5 commits