#![allow(unused)]
use dev_utils::{app_dt, dlog};
use pyo3::prelude::*;
use pyo3::types::{PyDict, PyList};
use std::cmp::Ordering;
use std::collections::HashMap;
use std::time::Instant;
#[pymodule]
#[pyo3(name = "engine")] fn balance_engine(m: &Bound<'_, PyModule>) -> PyResult<()> {
m.add_function(wrap_pyfunction!(init, m)?)?;
m.add_function(wrap_pyfunction!(time_exec, m)?)?;
Ok(())
}
#[pyfunction]
pub fn init() -> PyResult<()> {
app_dt!(file!(),
"package" => ["authors", "license", "description"]
);
Ok(())
}
#[pyfunction]
fn time_exec(py: Python<'_>, func: Py<PyAny>) -> PyResult<()> {
let start = Instant::now();
func.call0(py)?;
let elapsed = start.elapsed();
dlog::trace!("- Total execution time: {:?}", elapsed);
dlog::trace!("- Milliseconds: {:.2}", elapsed.as_millis());
Ok(())
}