# iaca-markers-rs
Adds IACA compatible macros for rust

# iaca-markers-rs
Adds [IACA](https://software.intel.com/en-us/articles/intel-architecture-code-analyzer) compatible macros for rust to identify and fix bottlenecks and improve throughput.

## Usage

When compiling with IACA enabled your executable will not run.

1. Instead add the macros around the section you wish to profile as below.
2. Compile in release mode: `cargo build --release`.
3. Run IACA from the link above (eg.): `./iaca.sh -64 ~/path/to/exe/release/librustlib.rlib`
4. Enjoy the extremely detailed output.


```rust
#![feature(asm)]

#[macro_use] extern crate iaca_markers;

fn main() {
    let mut a = 0;
    for i in 0..100 {
        iaca_start!();

        // Do some work
        a += i;
    }
    iaca_end!();

    println!("Summed to {}", a);
}
```

## Notes
I have run this successfully with `rustc 1.2.0-nightly (e4c64a149 2015-05-27)`. It may require beta or nightly rust for the moment until the asm feature is stabilized.

Add more details to the readme!
Add more details to the readme!
