Skip to content

byrnedj/libmrc-old

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libmrc
------

The goal of libmrc is to provide a black box implementation
of miss ratio curve APIs for applications wishing to use
them in memory management.

We use the Average Eviction Time algorithm that measures reuse
time of references. Default sample rate is 1/10,000. Default
interval is 1000 objects. 


When the solver is invoked, it will return the application's
miss ratio curve and the estimated working set size (N). 
This is best done in an application's background thread in
order to avoid critical path overhead.

------

Example usage:

#include <mrc.h>

mrc_t *app_mrc = init_mrc(sample_rate,mrc_interval);

//on data reference
take_sample(app_mrc,app_reference);
...

//to output MRC
solve_mrc(app_mrc);

for (int i = 0; i < app_mrc->mrc_size; i++)
{
    printf("%d,%f\n",i*app_mrc->interval,app_mrc[i]);
}



About

A library containing implementation of AET for fast MRC generation

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages