Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/arunanshub/preload-rs
System Optimizer for Linux running on HDDs
https://github.com/arunanshub/preload-rs
linux optimizer posix rust sqlite tokio
Last synced: 9 days ago
JSON representation
System Optimizer for Linux running on HDDs
- Host: GitHub
- URL: https://github.com/arunanshub/preload-rs
- Owner: arunanshub
- License: apache-2.0
- Created: 2024-09-21T09:46:46.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2024-12-30T04:05:19.000Z (12 days ago)
- Last Synced: 2024-12-30T05:18:09.451Z (12 days ago)
- Topics: linux, optimizer, posix, rust, sqlite, tokio
- Language: Rust
- Homepage: https://arunanshub.github.io/preload-rs/
- Size: 427 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# preload-rs
[![CI](https://github.com/arunanshub/preload-rs/actions/workflows/ci.yml/badge.svg)](https://github.com/arunanshub/preload-rs/actions/workflows/ci.yml)
[![Docs](https://github.com/arunanshub/preload-rs/actions/workflows/docs.yml/badge.svg)](https://arunanshub.github.io/preload-rs)
[![codecov](https://img.shields.io/codecov/c/github/arunanshub/preload-rs?logo=codecov)](https://codecov.io/github/arunanshub/preload-rs)`preload-rs` is a daemon process that prefetches binary files and shared libraries
from the hard disc to the main memory of the computer system to achieve faster
application startup time. `preload-rs` is adaptive: it monitors the application that
the user runs, and by analyzing this data, predicts what applications he might
run in the near future, and fetches those binaries and their dependencies into
memory.It builds a Markov-based probabilistic model capturing the correlation between
every two applications on the system. The model is then used to infer the
probability that each application may be started in the near future. These
probabilities are used to choose files to prefetch into the main memory. Special
care is taken to not degrade system performance and only prefetch when enough
resources are available.## Design
`preload-rs` has been divided into the following crates, with each crate serving a specific purpose. They are:
- `cli`: Responsible for launching `preload-rs` process. It is a binary crate.
- `config`: Manages configuration for `preload-rs`. It is a library.
- `kernel`: Manages the core functionality of `preload-rs`. It is a library.All crates reside under `crates/` directory.
## Guidelines
Please see [CONTRIBUTING](./CONTRIBUTING.md).