wenyuzhao/mallockit

$ cargo build --release

Note: If you'd like to hijack the system apps and libraries as well, disable System Integrity Protection (SIP)

MallocKit

Getting Started


$ env LD_PRELOAD=./target/release/libbump.so cargo # or some other command

Run on macOS

$ env DYLD_INSERT_LIBRARIES=./target/release/libbump.dylib cargo # or some other command

. Do this at your own risk 😉

Tests

$ cargo test

Benchmarking

[Latest benchmark results]

Please use a linux distribution (e.g. Ubuntu or Fedora) and run cd bench && make setup to fetch and build all the benchmarks and third-party malloc algorithms.

python3 -m bench -a mi hd sys hoard -i 10 -e duration_time cycles cache-misses cache-references dTLB-load-misses dTLB-loads instructions page-faults --build

After the benchmark run is finished, please use bench/visual.ipynb for visualization.

Other usages of the benchmark tool:

  • python3 -m bench -a hoard -b cfrac --build --record -e dTLB-loads followed by perf report to record and analyze perf event data.
  • python3 -m bench -a hoard -b cfrac --build --test for a quick run of a single benchmark.
  • python3 -m bench -a hoard -b cfrac --build --lldb to run the benchmark binary with lldb.

TODO

  • Linux support (x86_64)
  • MacOS support (x86_64)
  • Windows support (x86_64)
  • Performance
  • Linux support (aarch64)
  • MacOS support (aarch64)
  • Windows support (aarch64)
  • Rust allocator interface

Information - Updated Aug 14, 2022

Stars: 1
Forks: 0
Issues: 0

pancurses is a curses library for Rust that supports both Linux and Windows

by abstracting away the backend that it uses

pancurses is a curses library for Rust that supports both Linux and Windows

Native Rust library for managing Linux Control Groups (cgroups)

This crate, curently, only supports the original, V1 hierarchy

Native Rust library for managing Linux Control Groups (cgroups)

Rust Linux Worker

The Service executes arbitrary Linux commands on behalf of clients

Rust Linux Worker

Direct, unsafe Rust bindings for Linux's perf_event_open system call

This crate exports unsafe Rust wrappers for Linux system calls for accessing

Direct, unsafe Rust bindings for Linux's perf_event_open system call

A transparent TCP to SOCKSv5/HTTP proxy on Linux written in Rust

Transparent TCP proxy with iptables -j REDIRECT or nft redirect to

A transparent TCP to SOCKSv5/HTTP proxy on Linux written in Rust

Linux-Device-Driver-Rust

This is a twain Repo of Linux-Device-Driver is a long time work in which I rewrite all examples in

Linux-Device-Driver-Rust

Linux debugger written in Rust

Basic memory reading / writing

Linux debugger written in Rust

input-linux is a Rust client for evdev and uinput on Linux

documentation for up to date information

input-linux is a Rust client for evdev and uinput on Linux

Rust Industrial I/O for Linux

The current version is a wrapper around the user-space C library, @fmpagliughi

Rust Industrial I/O for Linux

Tauri Screen Recorder

Looking for recording solution in tauri/rust for mac/win/linux 🚧

Tauri Screen Recorder
Facebook Instagram Twitter GitHub Dribbble
Privacy