Skip to content

Add more stress tests and benchmarks #450

@talex5

Description

@talex5

The only stress test we have is stress_semaphore.ml and the benchmarks mostly test the synchronisation primitives but not the OS integration (except for bench_fd.ml, which tests reading from /dev/zero). We need more.

In particular, we have found several resource leaks and races when e.g. spawning and joining domains in a tight loop (e.g. #421). The https://github.com/ocaml-multicore/retro-httpaf-bench/tree/master/cohttp-eio benchmark is useful; more like that (or simpler) would be good. (update: we now have bench_http.ml for this)

Testing for FD leaks would also be worth doing. e.g. checking that we have the same number of open FDs at the end of running the tests.

It would be very interesting to look at the benchmarks with e.g. https://magic-trace.org/ to see if there are obvious inefficiencies left.

The benchmarks could go in this repository (if simple) or we could create a new project just for that (if they have lots of dependencies).

Stress testing https://github.com/ocaml-multicore/lwt_eio would be useful too.

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions