#page #memory #memory-size #memory-allocator #ram

no-std page_size

提供一种简单、快速、跨平台的检索内存页面大小的方法

10个版本 (5个破坏性版本)

使用旧的Rust 2015

0.6.0 2023年8月3日
0.5.0 2022年11月20日
0.4.2 2019年12月20日
0.4.1 2017年10月10日
0.1.1 2017年9月21日

#19 in 操作系统

Download history 77028/week @ 2024-04-22 81886/week @ 2024-04-29 65708/week @ 2024-05-06 74992/week @ 2024-05-13 73443/week @ 2024-05-20 99241/week @ 2024-05-27 105531/week @ 2024-06-03 85534/week @ 2024-06-10 85953/week @ 2024-06-17 101144/week @ 2024-06-24 90656/week @ 2024-07-01 94318/week @ 2024-07-08 92266/week @ 2024-07-15 91897/week @ 2024-07-22 88551/week @ 2024-07-29 55369/week @ 2024-08-05

每月332,532次下载
用于 277 个crate (68 直接)

MIT/Apache

10KB
129

page_size_rs 是一个Rust crate,它提供了一种简单、快速、跨平台的检索当前系统内存页面大小的途径。它支持任何符合POSIX的系统、Windows和WebAssembly。

文档

Linux Status Build status

简介

现代硬件和软件倾向于将数据以称为页面的离散块形式加载到RAM(并将数据从RAM传输到磁盘)。这个crate提供了一个辅助方法来检索这些页面的字节数。由于页面大小 不应 在执行期间更改,page_size_rs 会在第一次调用后缓存结果。

为了使这个crate对编写内存分配器有用,它不需要(但可以使用)Rust标准库。

由于Windows地址有时必须与不总是与页面大小匹配的分配粒度相对应,因此我包括了检索该信息的方法。

示例

extern crate page_size;

fn main() {
    println!("{}", page_size::get());
}

平台

page_size_rs 应该能在Windows、任何POSIX兼容系统(Linux、Mac OSX等)和WebAssembly上运行。

page_size_rs 在以下平台上进行持续测试:

  • x86_64-unknown-linux-gnu (Linux)
  • i686-unknown-linux-gnu
  • x86_64-unknown-linux-musl (Linux w/ MUSL)
  • i686-unknown-linux-musl
  • x86_64-apple-darwin (Mac OSX)
  • i686-apple-darwin
  • x86_64-pc-windows-msvc (Windows)
  • i686-pc-windows-msvc
  • x86_64-pc-windows-gnu
  • i686-pc-windows-gnu

page_size_rs 持续交叉编译为

  • arm-unknown-linux-gnueabihf
  • aarch64-unknown-linux-gnu
  • mips-unknown-linux-gnu
  • aarch64-unknown-linux-musl
  • i686-linux-android
  • x86_64-linux-android
  • arm-linux-androideabi
  • aarch64-linux-android
  • i386-apple-ios
  • x86_64-apple-ios
  • i686-unknown-freebsd
  • x86_64-unknown-freebsd
  • x86_64-unknown-netbsd
  • asmjs-unknown-emscripten
  • wasm32-wasi
  • wasm32-unknown-unknown

依赖项

~0.4–250KB