#memcmp #memchr #memmem

memx

类似 libc 的 memcmp(), memchr(), memmem(), memcpy(), memset() 的内存函数

31 个版本

0.1.32 2024年6月19日
0.1.30 2023年5月15日
0.1.28 2023年3月14日
0.1.21 2022年6月13日
0.1.14 2021年7月6日

#69算法

Download history 1084/week @ 2024-04-27 418/week @ 2024-05-04 681/week @ 2024-05-11 901/week @ 2024-05-18 854/week @ 2024-05-25 513/week @ 2024-06-01 735/week @ 2024-06-08 1442/week @ 2024-06-15 664/week @ 2024-06-22 848/week @ 2024-06-29 460/week @ 2024-07-06 914/week @ 2024-07-13 914/week @ 2024-07-20 1015/week @ 2024-07-27 1201/week @ 2024-08-03 807/week @ 2024-08-10

4,263 每月下载量
用于 19 个crate(直接使用4个)

MIT/Apache

1MB
22K SLoC

memx

crate Docs Rust Version Apache2/MIT licensed Test ubu Test mac Test win

memx 模拟 libc。

该crate实现了类似 libc 的 memcmp(), memchr(), memmem(), memcpy(), memset() 等内存函数。

功能

  • 使用 Rust 语言重写。
  • 最低支持 rustc 1.56.1 (59eed8a2a 2021-11-01)

待办事项

  • 支持无开销特性。
  • 支持 armv7-android 上更多的快速例程。
  • 支持 x86_64 上更多的快速例程。
  • 支持 #![no_std]

支持 miri :: rustc 1.68.0-nightly (77429957a 2023-01-01)

OK 列表

  • cargo +nightly miri test --target=x86_64-unknown-linux-gnu
  • cargo +nightly miri test --target=i686-unknown-linux-gnu
  • cargo +nightly miri test --target=i586-unknown-linux-gnu
  • cargo +nightly miri test --target=aarch64-unknown-linux-gnu
  • cargo +nightly miri test --target=armv7-unknown-linux-gnueabihf

失败列表

基准测试结果

正向搜索 反向搜索
memchr() memrchr()
memnechr() memrnechr()
memmem() memrmem()
memchr_dbl() memrchr_dbl()
memchr_tpl() memrchr_tpl()
memchr_qpl() memrchr_qpl()
memnechr_dbl() memrnechr_dbl()
memnechr_tpl() memrnechr_tpl()
memnechr_qpl() memrnechr_qpl()
内存操作
memcmp()
memeq()
memcpy()
memset()

变更日志

该crate的变更日志在此。

许可证

该项目许可协议为以下之一

任选其一。

依赖项