Giter Site home page Giter Site logo

arunanshub / preload Goto Github PK

View Code? Open in Web Editor NEW
9.0 2.0 2.0 89 KB

preload is an adaptive readahead daemon that prefetches files mapped by applications from the disk to reduce application startup time.

License: GNU General Public License v2.0

C 95.57% Shell 0.47% Meson 3.96%
preload linux readahead prefetch speedup

preload's Introduction

preload

This is currently a WIP

This preload is a clone of Behdad Esfahbod's preload. The only difference is that this project uses meson as its build system.

Note that this is a work in progress. So, if you're going to use it, make sure that you check meson.build first.

Configuration file for preload is generated from buildfile (meson.build) itself.

Building

It is highly recommended that you use prefix as /usr.

The proper way to build is:

meson build --prefix=/usr
# ...
ninja -C build

Even if you don't use --prefix, it is /usr by default.

Manpage Generation

Optionally, you'd require help2man for dynamic manpage generation, which is handled directly by Meson.

Testing

Since preload is an executable, the tests are defined in a bash script runtests.sh, and are run via meson.

You can use

ninja -C build test

or

meson test -C build

to run the tests.

Why meson?

  • Because it is easier to configure.
  • Also because I hate Make, CMake and all other shit.
  • Also because I had no intention to understand how the author's build config worked/works.
  • Because I wanted a cleaner codebase.

Style Guide

Chromium Style Guide is used with some minor modifications:

  • Maximum column length: 79
  • Indent width: 4

Use this to generate a .clang-format file:

clang-format \
    -style="{BasedOnStyle: Chromium, ColumnLimit: 79, IndentWidth: 4}" \
    --dump-config > .clang-format

Check Mesonbuild's guide on clang-format for more info.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.