2018-12-02 22:42:29 -05:00
|
|
|
# qadapt
|
2018-09-23 12:41:11 -04:00
|
|
|
|
2018-11-15 20:16:49 -05:00
|
|
|
[![crates.io](https://img.shields.io/crates/v/qadapt.svg)](https://crates.io/crates/qadapt)
|
|
|
|
[![docs.rs](https://docs.rs/qadapt/badge.svg)](https://docs.rs/qadapt/)
|
2018-12-02 22:42:29 -05:00
|
|
|
[![travisci](https://travis-ci.org/bspeice/qadapt.svg?branch=master)](https://travis-ci.org/bspeice/qadapt)
|
|
|
|
<!--
|
|
|
|
AppVeyor badges use a unique ID that we're not able to compute ahead of time.
|
|
|
|
Please see https://ci.appveyor.com/project/bspeice/qadapt/settings/badges
|
|
|
|
to set up the badge
|
|
|
|
-->
|
|
|
|
[![codecov](https://codecov.io/gh/bspeice/qadapt/branch/master/graph/badge.svg)](https://codecov.io/gh/bspeice/qadapt)
|
|
|
|
|
|
|
|
---
|
|
|
|
# The Quick And Dirty Allocation Profiling Tool
|
2018-11-15 20:16:49 -05:00
|
|
|
|
2018-11-11 22:34:05 -05:00
|
|
|
This allocator is a helper for writing high-performance code that is allocation/drop free;
|
|
|
|
for functions annotated with `#[allocate_panic]`, QADAPT will detect when allocations/drops
|
|
|
|
happen during their execution (and execution of any functions they call) and throw a
|
2018-12-02 22:42:29 -05:00
|
|
|
thread panic if this occurs. QADAPT-related code is *stripped out during release builds*,
|
|
|
|
so no worries about random allocations crashing in production.
|
2018-11-11 22:34:05 -05:00
|
|
|
|
2018-12-02 22:42:29 -05:00
|
|
|
Currently this crate is Nightly-only, but will work once `const fn` is in Stable.
|
2018-11-11 22:34:05 -05:00
|
|
|
|
2018-12-02 22:42:29 -05:00
|
|
|
Please also take a look at [qadapt-macro](https://github.com/bspeice/qadapt/tree/master/qadapt-macro)
|
|
|
|
for some helper macros to make working with QADAPT a bit easier.
|