direct-io VS wg-allocators

Compare direct-io vs wg-allocators and see what are their differences.

direct-io

Direct IO helpers for block devices and regular files on FreeBSD, Linux, macOS and Windows. (by ronomon)

wg-allocators

Home of the Allocators working group: Paving a path for a standard set of allocator traits to be used in collections! (by rust-lang)
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
direct-io wg-allocators
1 18
66 188
- 0.0%
0.0 0.0
about 1 year ago about 3 years ago
C
MIT License -
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

direct-io

Posts with mentions or reviews of direct-io. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2021-01-23.
  • But How, Do Databases Use Mmap?
    5 projects | news.ycombinator.com | 23 Jan 2021
    I wrote this for Node.js, which is a native binding in C, exposing cross platform functionality: https://github.com/ronomon/direct-io

    Although if it's a new project and you're used to C, I would recommend also taking a good look at Zig (https://ziglang.org/), because it's so explicit about alignment compared to C, and makes alignment a first-class part of the type system, see this other comment of mine that goes into more detail: https://news.ycombinator.com/item?id=25801542

    Something that will also help, is setting your minimum IO unit to 4096 bytes, the Advanced Format sector size, because then your Direct IO system will just work, regardless of whether sysadmins swap disks of different sector sizes from underneath you. For example, a minimum sector size of 4096 bytes will work not only for newer AF disks but also for any 512 byte sector disks.

    Lastly, Direct IO is actually more a property of the file system, not necessarily the OS (e.g. Linux), so you will some file systems on Linux that return EINVAL when you try to open a file descriptor with O_DIRECT, simply because they don't support O_DIRECT (e.g. a macOS volume accessed from within a Linux VM) so that should be your way of testing for support, not only the OS.

wg-allocators

Posts with mentions or reviews of wg-allocators. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-06-03.
  • Anouncing `stabby` 1.0!
    6 projects | /r/rust | 3 Jun 2023
    Tracking issue for Storages, and a TLDR on what it is
  • What backwards-incompatible changes would you make in a hypothetical Rust 2.0?
    10 projects | /r/rust | 19 Apr 2023
  • Custom allocators in Rust
    4 projects | /r/rust | 6 Apr 2023
    I must have gotten confused, since from your brief discussion with CAD97 it seemed like there was a way for the concepts to live separately and that Storage could complicate things in comparison. But if implementing Allocator in terms of Storage is basically equivalent and Storage is flexible enough that I could write one to pass memory out to unsafe code, that works just as well.
  • Zig and Rust
    6 projects | news.ycombinator.com | 27 Mar 2023
    https://rust-lang.github.io/rfcs/1974-global-allocators.html was the original RFC.

    My vague understanding is that there's a working group https://github.com/rust-lang/wg-allocators

    The further I get from working on Rust day to day, the less I know about these things, so that's all I've got for you.

  • Rust went from side project to world’s fastest growing language
    7 projects | news.ycombinator.com | 14 Feb 2023
    If you self-reference using pointers and guarantee the struct will never move, you don't even need unsafe. If you self-reference using offsets from the struct's base pointer, you need a splash of unsafe but your struct can be freely moved without invalidating its self-referential "pointers".

    Per-struct allocators are a work in progress (see https://github.com/rust-lang/wg-allocators/issues/48).

    Not sure what "non thread local addresses" means, but in my experience Rust is pretty good at sending data between threads (without moving it).

  • Rust is coming to the Linux kernel
    7 projects | /r/programming | 20 Sep 2022
  • FunDSP 0.1.0, an audio processing and synthesis library
    3 projects | /r/rust | 31 Jan 2022
    Besides that allocation is not really a problem for no_std. It's resolved by using alloc crate directly, so anything usable with custom allocators is supported. Example in dasp sources - https://github.com/RustAudio/dasp/blob/master/dasp_slice/src/boxed.rs#L14-L19 . Also worth looking at this issue to check what is usable already - https://github.com/rust-lang/wg-allocators/issues/7
  • Andrew Kelley claims Zig is faster than Rust in perfomance
    1 project | /r/rust | 16 Jan 2022
    But that's on track for rust as well: https://github.com/rust-lang/wg-allocators/issues/7
  • Which important features from C/C++ are missing in Rust
    9 projects | /r/rust | 18 Dec 2021
    Here: https://github.com/rust-lang/rfcs/pull/1398. there is also a working group for this: https://github.com/rust-lang/wg-allocators.
  • Box<T> allocator override?
    1 project | /r/rust | 19 Aug 2021
    It's unstable. wg-allocators contains discussions about design and a tracking issue for collections that need an allocator https://github.com/rust-lang/wg-allocators/issues/7