
Security News
Axios Maintainer Confirms Social Engineering Attack Behind npm Compromise
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.
@ostera/rebench
Advanced tools
A benchmarking package for ReasonML
Status: Usable ALPHA. The default announcer and cycle printers are not the most beautiful but they get the job done for now. Ideally in the future a default on-complete handler will inspect the data and show the clear winner. But this was the minimum I needed to start benchmarking some code.
Begin by adding the package to your dev dependencies:
ostera/reactor λ yarn add rebench --dev
And including it in your bsconfig.json file too:
{
// ...
"suffix": ".bs.js",
"bs-dependencies": [
"rebench",
],
"warnings": {
"error" : "+101"
},
// ...
}
Now you're good! Make sure to run bsb -make-world :)
You begin by creating a ReBench suite with ReBench.make(). To that suite you
can add as many test cases as you feel like with add(name, test_case, suite).
This makes it possible to chain your calls and provides a very fluent API for
writting the benchmarks.
let run = size =>
ReBench.(
make()
|> add("ReStruct.BatchedQueue.tail", tail_batched_queue(size))
|> add("ReStruct.BankersQueue.tail", tail_bankers_queue(size))
|> add("ReStruct.Lazy.RealTimeQueue.tail", tail_realtime_queue(size))
|> on(Start, Utils.default_announcer(~size, ~name="Queue.Tail"))
|> on(Cycle, Utils.default_printer)
|> on(Complete, _e => Js.log("Done!"))
|> run(run_opts(~async=false))
);
Running this benchmark has the following output:
ostera/restruct λ make bench
Benchmark: Queue.Tail (size: 10)
=> ReStruct.BatchedQueue.tail - 365964 ops
=> ReStruct.BankersQueue.tail - 5512905 ops
=> ReStruct.Lazy.RealTimeQueue.tail - 3797100 ops
Benchmark: Queue.Tail (size: 1000)
=> ReStruct.BatchedQueue.tail - 3167 ops
=> ReStruct.BankersQueue.tail - 5572714 ops
=> ReStruct.Lazy.RealTimeQueue.tail - 3344608 ops
Benchmark: Queue.Tail (size: 100000)
=> ReStruct.BatchedQueue.tail - 12 ops
=> ReStruct.BankersQueue.tail - 5365455 ops
=> ReStruct.Lazy.RealTimeQueue.tail - 3057600 ops
Done!
FAQs
> A benchmarking package for ReasonML
We found that @ostera/rebench demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.

Security News
The Axios compromise shows how time-dependent dependency resolution makes exposure harder to detect and contain.