Skip to content

A library to help users create Samplers to benchmark their Aiken code

License

Notifications You must be signed in to change notification settings

aiken-lang/bench

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation


Aiken aiken/bench

Licence Continuous Integration


The official library for writing samplers (a.k.a Scaled Fuzzers) for the Aiken Cardano smart-contract language.

⚠️ WARNING

IMPORTANT: This is a work in progress and the API is not stable yet; additionally Samplers are not yet supported in the current version of Aiken (v1.1.9).

Installation

aiken add aiken-lang/bench --version v0.0.0

Getting started

First, make sure you have the Aiken's user manual about tests; in particular the section about benchmarking functions.

In many situations, you can use primitives from this library out-of-the-box, composing them inline when necessary. For example, if you need a growing non-empty list of values, you can simply write:

use aiken/bench

bench my_bench(xs via bench.list(bench.int(Linear(1)), Linear(1))) {
  // some function
}

You can also write your own more complex sampler. Note that writing good samplers can be complicated, so here are a few guiding principles you should follow.. TODO

About

A library to help users create Samplers to benchmark their Aiken code

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published