mirror of
https://github.com/Magnus167/rustframe.git
synced 2025-08-21 10:40:01 +00:00
Compare commits
1 Commits
a1890da1b1
...
cef18c2da3
Author | SHA1 | Date | |
---|---|---|---|
![]() |
cef18c2da3 |
@ -1,7 +1,7 @@
|
|||||||
// Combined benchmarks
|
// Combined benchmarks for rustframe
|
||||||
use chrono::NaiveDate;
|
use chrono::NaiveDate;
|
||||||
use criterion::{criterion_group, criterion_main, Criterion};
|
use criterion::{criterion_group, criterion_main, Criterion};
|
||||||
|
// Import Duration for measurement_time and warm_up_time
|
||||||
use rustframe::{
|
use rustframe::{
|
||||||
frame::{Frame, RowIndex},
|
frame::{Frame, RowIndex},
|
||||||
matrix::{BoolMatrix, Matrix},
|
matrix::{BoolMatrix, Matrix},
|
||||||
@ -9,6 +9,8 @@ use rustframe::{
|
|||||||
};
|
};
|
||||||
use std::time::Duration;
|
use std::time::Duration;
|
||||||
|
|
||||||
|
// You can define a custom Criterion configuration function
|
||||||
|
// This will be passed to the criterion_group! macro
|
||||||
pub fn for_short_runs() -> Criterion {
|
pub fn for_short_runs() -> Criterion {
|
||||||
Criterion::default()
|
Criterion::default()
|
||||||
// (samples != total iterations)
|
// (samples != total iterations)
|
||||||
@ -18,15 +20,14 @@ pub fn for_short_runs() -> Criterion {
|
|||||||
.measurement_time(Duration::from_millis(2000))
|
.measurement_time(Duration::from_millis(2000))
|
||||||
// reduce warm-up time as well for faster overall run
|
// reduce warm-up time as well for faster overall run
|
||||||
.warm_up_time(Duration::from_millis(50))
|
.warm_up_time(Duration::from_millis(50))
|
||||||
// can make it much shorter if needed, e.g., 50ms measurement, 100ms warm-up
|
// You could also make it much shorter if needed, e.g., 50ms measurement, 100ms warm-up
|
||||||
// .measurement_time(Duration::from_millis(50))
|
// .measurement_time(Duration::from_millis(50))
|
||||||
// .warm_up_time(Duration::from_millis(100))
|
// .warm_up_time(Duration::from_millis(100))
|
||||||
}
|
}
|
||||||
|
|
||||||
const BENCH_SIZES: [usize; 5] = [1, 100, 250, 500, 1000];
|
|
||||||
|
|
||||||
fn bool_matrix_operations_benchmark(c: &mut Criterion) {
|
fn bool_matrix_operations_benchmark(c: &mut Criterion) {
|
||||||
let sizes = BENCH_SIZES;
|
let sizes = [1, 100, 1000];
|
||||||
|
// let sizes = [1000];
|
||||||
|
|
||||||
for &size in &sizes {
|
for &size in &sizes {
|
||||||
let data1: Vec<bool> = (0..size * size).map(|x| x % 2 == 0).collect();
|
let data1: Vec<bool> = (0..size * size).map(|x| x % 2 == 0).collect();
|
||||||
@ -61,7 +62,8 @@ fn bool_matrix_operations_benchmark(c: &mut Criterion) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn matrix_boolean_operations_benchmark(c: &mut Criterion) {
|
fn matrix_boolean_operations_benchmark(c: &mut Criterion) {
|
||||||
let sizes = BENCH_SIZES;
|
let sizes = [1, 100, 1000];
|
||||||
|
// let sizes = [1000];
|
||||||
|
|
||||||
for &size in &sizes {
|
for &size in &sizes {
|
||||||
let data1: Vec<bool> = (0..size * size).map(|x| x % 2 == 0).collect();
|
let data1: Vec<bool> = (0..size * size).map(|x| x % 2 == 0).collect();
|
||||||
@ -96,7 +98,8 @@ fn matrix_boolean_operations_benchmark(c: &mut Criterion) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fn matrix_operations_benchmark(c: &mut Criterion) {
|
fn matrix_operations_benchmark(c: &mut Criterion) {
|
||||||
let sizes = BENCH_SIZES;
|
let sizes = [1, 100, 1000];
|
||||||
|
// let sizes = [1000];
|
||||||
|
|
||||||
for &size in &sizes {
|
for &size in &sizes {
|
||||||
let data: Vec<f64> = (0..size * size).map(|x| x as f64).collect();
|
let data: Vec<f64> = (0..size * size).map(|x| x as f64).collect();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user