8aff1296b9
Automerge CLI depends transitively (via and old version of `clap` and via `colored_json` on `atty` and `ansi_term`. These crates are both marked as unmaintained and this generates irritating `cargo deny` messages. To avoid this, implement colored JSON ourselves using the `termcolor` crate - colored JSON is pretty mechanical. Also update criterion and cbindgen dependencies and ignore the criterion tree in deny.toml as we only ever use it in benchmarks. All that's left now is a warning about atty in cbindgen, we'll just have to wait for cbindgen to fix that, it's a build time dependency anyway so it's not really an issue. |
||
---|---|---|
.. | ||
benches | ||
src | ||
.gitignore | ||
automerge-1.0.js | ||
automerge-js.js | ||
automerge-wasm.js | ||
baseline.js | ||
Cargo.toml | ||
editing-trace.js | ||
edits.json | ||
Makefile | ||
package.json | ||
README.md |
Edit trace benchmarks
Try the different editing traces on different automerge implementations
Automerge Experiement - pure rust
make rust
Benchmarks
There are some criterion benchmarks in the benches
folder which can be run with cargo bench
or cargo criterion
.
For flamegraphing, cargo flamegraph --bench main -- --bench "save" # or "load" or "replay" or nothing
can be useful.
Automerge Experiement - wasm api
make wasm
Automerge Experiment - JS wrapper
make js
Automerge 1.0 pure javascript - new fast backend
This assumes automerge has been checked out in a directory along side this repo
node automerge-1.0.js
Automerge 1.0 with rust backend
This assumes automerge has been checked out in a directory along side this repo
node automerge-rs.js
Baseline Test. Javascript Array with no CRDT info
make baseline