Benedikt Rascher-Friesenhausen e10a346356 Optimise memcmp for speed
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.
2018-10-07 10:25:19 +02:00
2018-09-24 20:19:37 -06:00
2018-03-01 20:26:40 -07:00
2018-07-11 09:59:28 -06:00
2018-10-07 10:25:19 +02:00
2018-10-06 17:37:50 +02:00
2018-06-21 17:16:56 +02:00
2018-09-04 15:31:43 +02:00
2018-09-24 20:19:37 -06:00
2018-03-08 19:45:16 -07:00
2018-08-27 08:33:12 -06:00
2018-10-05 18:07:43 +02:00
2018-10-05 18:07:43 +02:00
2018-03-26 19:34:45 -06:00
2018-08-27 06:35:30 -06:00
2018-08-26 12:40:19 -06:00
2018-03-07 17:29:33 -07:00
2018-10-05 18:07:43 +02:00
2018-09-05 13:03:46 +00:00
2018-07-03 09:33:41 +02:00

relibc build

relibc is a portable POSIX C standard library written in Rust. It is under heavy development, and currently supports Redox and Linux.

The motivation for this project is twofold: Reduce issues the redox crew was having with newlib, and create a safer alternative to a C standard library written in C. It is mainly designed to be used under redox, as an alternative to newlib, but it also supports linux syscalls via the sc crate.

Contributing

Supported OSes

  • Redox OS
  • Linux

Supported architectures

  • x86_64
  • Aarch64
S
Description
RedBear Operating System, based on RedoxOS. Licenced under MIT license.
https://redbearos.org
Readme MIT 17 GiB
Languages
Rust 98.8%
Assembly 0.6%
Linker Script 0.5%
Makefile 0.1%