harehare
mq
BlogDocsChangelog

♻️ refactor(module): introduce ModuleIO trait for testable module loading

#829
Comparing
refactor/module-io-abstraction
(
3c612ff
) with
main
(
56d2242
)
CodSpeed Performance Gauge
0%
Untouched
16

Benchmarks

Passed

eval_comparison_folding
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
+1%
341.6 µs339 µs
eval_string_equality
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
+1%
4.6 ms4.5 ms
eval_boolean_folding
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
+1%
149.9 µs148.9 µs
eval_nodes
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
+1%
4 ms4 ms
eval_foreach
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
4.9 ms4.9 ms
eval_dead_code_elimination_benchmark
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
149.5 µs148.9 µs
parse_fibonacci
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
146.2 µs145.6 µs
eval_select_h
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
213.5 µs212.8 µs
eval_csv_parse
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
9.6 ms9.6 ms
eval_qualified_access_to_csv_module
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
9.6 ms9.6 ms
eval_json_parse
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
12.8 ms12.8 ms
eval_yaml_parse
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
26.2 ms26.2 ms
eval_string_interpolation
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
100.4 µs100.4 µs
eval_fibonacci
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
56.6 ms56.7 ms
eval_while_speed_test
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
18.1 ms18.2 ms
eval_until_speed_test
crates/mq-lang/benches/benchmark.rs
CodSpeed Performance Gauge
0%
16.9 ms17 ms

Commits

Click on a commit to change the comparison range
Base
main
56d2242
+0.08%
♻️ refactor(module): introduce ModuleIO trait for testable module loading Abstracts file system operations from the module loader by introducing a ModuleIO trait, making the module system more testable and flexible. Changes: - Add ModuleIO trait to abstract module I/O operations - Implement FsModuleIO for file system-based module loading - Make Engine and ModuleLoader generic over ModuleIO - Add DefaultEngine and DefaultModuleLoader type aliases - Rename set_paths to set_search_paths for clarity - Update all examples, benchmarks, and tests to use DefaultEngine - Remove unused mq-macros crate and rule110.rs example - Update documentation comments to reflect new API This refactoring enables easier testing with mock implementations and provides a cleaner separation of concerns between module loading logic and I/O operations.
2c46af9
11 days ago
by harehare
-0.07%
♻️ Fix use DefaultEngine in proptests
e08c5f5
11 days ago
by harehare
0%
Update crates/mq-lang/src/eval/module.rs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
c30792b
11 days ago
by harehare
0%
♻️ Replace Engine with DefaultEngine
5c2a4ef
11 days ago
by harehare
-0.03%
♻️ Rename parameter in Engine constructor for clarity and update imports
c97c9f7
11 days ago
by harehare
0%
Update crates/mq-lang/src/optimizer.rs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
c65103d
11 days ago
by harehare
+0.16%
♻️ Refactor
01d71cd
11 days ago
by harehare
-0.03%
♻️ Update function inlining logic and add tests for implicit first argument handling
acaf945
10 days ago
by harehare
+0.15%
Update crates/mq-lang/src/module/resolver.rs Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
3c612ff
10 days ago
by harehare
© 2025 CodSpeed Technology
Home Terms Privacy Docs