Add Alist and Alist-backed Mlist implementation and tests#41
Conversation
…y usages to Mlist.empty ().
yannilefki
left a comment
There was a problem hiding this comment.
Good for me, add a very little more documentation as file header and all good.
Did not review the last commit. I will try to execute the tests and benchmarks before approving again.
| Run direct `Mlist_old` vs new `Mlist` operation benchmarks and generate plots: | ||
|
|
||
| ```bash | ||
| ./benchmark/run_mlist_bench mlist-run |
There was a problem hiding this comment.
I'm stuck here without first calling dune build in tests_infra/mlist
I end up with the error message : Program 'tests_infra/mlist/mlist_bench.exe' not found!
After some digging, I see that even calling dune build does not resolve the issue, and I can not find a way to make this benchmark run. Even though optitrust/_build/default/tests_infra/mlist/mlist_bench.exe exists...
There was a problem hiding this comment.
Running the executable manually works, so the problem might be on my side.
There was a problem hiding this comment.
i think the issue comes from dune exec and the way it resolves the executable path
The script used: dune exec tests_infra/mlist/mlist_bench.exe --
On some Dune setups this is treated as a program name, i am on wsl ubuntu 22.04 so it might be different for you if you are on a different version of linux
The portable version is: dune exec ./tests_infra/mlist/mlist_bench.exe --
Same for the plot script. That might be why running the executable manually worked for you, but the script failed.
yannilefki
left a comment
There was a problem hiding this comment.
I tried running the tests, and end up stuck running make in tests_infra/alist without monolith. You should add the package to the "dune-project" in root, or to the "dune-workplace" (I'm not sure if the second one is possible though).
|
@Ultra-MG thanks for the README improvements, I was able to run everything until the AFL fuzzer "Useful AFL follow-up commands". There's a missing |
|
I think there's also ? |
Alistchunked-array sequence structure.Mlistwith the new Alist-backed implementation.Mlist.emptytoMlist.empty ()so each Alist-backed emptyMlistis freshly allocated instead of sharing internal structure.Alistagainst a naive list-backed reference.Alisttesting.