Comments (9)
Maybe later.
from memmap2-rs.
I worry
rustix
would lead to more maintenance burden and I have no time for it.No one stops you from forking this crate and maintaining it yourself. Maybe in a few years we migrate to
rustix
.
I'd hate to fork this crate, since it would cause ecosystem fragmentation that I would prefer to avoid. A healthy ecosystem doesn't maintain two parallel versions of the same crates with minor differences.
I would be happy to help maintain this crate, especially the rustix
parts as I have experience with rustix
. I doubt that there would be much practical difference between this and the current libc
implementation.
from memmap2-rs.
for technical reasons
Please openly and directly state those reasons. (Which is a requirement for any change to be merged.)
from memmap2-rs.
We have an internal requirement to make syscalls instead of using libc, Rustix is our preferred way of achieving this.
We figure that up streaming this would help improve crate safety (removing unsafe libc calls), it also helps reduce our maintenance burden. memfd-rs
have done a similar thing lucab/memfd-rs#27 previously.
from memmap2-rs.
We have an internal requirement to make syscalls instead of using libc, Rustix is our preferred way of achieving this.
This does not really make the reasoning much clearer. Why do you have this requirement? What is achieved by making system calls directly instead of going through libc?
from memmap2-rs.
rustix
requires Rust 1.63, while this crate requires 1.36
it also helps reduce our maintenance burden
I would argue that libc
has less maintenance since this is the official way to interact with an OS.
from memmap2-rs.
Is there any particular reason for the v1.36 MSRV? It's four years old at this point (as of today, wow), and even Debian Stable uses v1.63 as of the latest release.
I would agree that rustix
would be preferred at this point in time. I've been working to migrate some of the GUI crates in the Rust ecosystem to rustix
, and we've seen noticeable performance improvements and lower instruction counts.
from memmap2-rs.
Is there any particular reason for the v1.36 MSRV?
Because there is no reason in upgrading it.
Debian Stable
Which no one migrated to yet. And the actual stable is still 1.48
Not like I care much.
I worry rustix
would lead to more maintenance burden and I have no time for it.
And I doubt that libc
usage can lead to any measurable bottlenecks.
No one stops you from forking this crate and maintaining it yourself. Maybe in a few years we migrate to rustix
.
from memmap2-rs.
Duplicate of #92
from memmap2-rs.
Related Issues (20)
- Migrate to `safer_owning_ref` HOT 1
- why does memmap2::Mmap::map need to be unsafe? HOT 4
- Implement AsRawFd, IntoRawFd, AsRawHandle, IntoRawHandle and Into<Stdio> for MMap HOT 2
- Composite memory maps currently impossible HOT 7
- mmap'd anon pages fail in io_uring IOSQE_BUFFER_SELECT usage HOT 2
- advise_writes_unsafely_to_part_of_map test fails on powerpc64le-unknown-linux-gnu HOT 2
- error[E0433]: failed to resolve: could not find `Advice` in `memmap2` HOT 1
- PermissionDenied, message: "Access is denied." at remove file after read on Github Action WIndows HOT 2
- Doesn't compile for freebsd HOT 3
- v0.9.2 build failed for android target. HOT 3
- Support for `MS_INVALIDATE`? HOT 8
- Mac osx support HOT 1
- Support `mremap(2)` HOT 1
- Mapping beyond 4GB offset if broken on 32 bit glibc (Linux) HOT 3
- Support multiple advice HOT 2
- MSRV and edition HOT 5
- Merging changes with memmapix HOT 24
- memmap2 `advise` is unsound HOT 8
- Interest is supporting mbind HOT 10
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from memmap2-rs.