automerge/rust/edit-trace
alexjg 8aff1296b9
automerge-cli: remove a bunch of bad dependencies (#478)
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.
2022-12-14 18:06:19 +00:00
..
benches Move rust workspace into ./rust 2022-10-16 19:55:51 +01:00
src rewrite opnode to store usize instead of Op (#471) 2022-12-10 10:36:05 +00:00
.gitignore Text v2. JS Api now uses text by default (#462) 2022-12-09 23:48:07 +00:00
automerge-1.0.js Move rust workspace into ./rust 2022-10-16 19:55:51 +01:00
automerge-js.js rewrite opnode to store usize instead of Op (#471) 2022-12-10 10:36:05 +00:00
automerge-wasm.js rewrite opnode to store usize instead of Op (#471) 2022-12-10 10:36:05 +00:00
baseline.js Move rust workspace into ./rust 2022-10-16 19:55:51 +01:00
Cargo.toml automerge-cli: remove a bunch of bad dependencies (#478) 2022-12-14 18:06:19 +00:00
editing-trace.js Move rust workspace into ./rust 2022-10-16 19:55:51 +01:00
edits.json Move rust workspace into ./rust 2022-10-16 19:55:51 +01:00
Makefile Move rust workspace into ./rust 2022-10-16 19:55:51 +01:00
package.json rewrite opnode to store usize instead of Op (#471) 2022-12-10 10:36:05 +00:00
README.md Move rust workspace into ./rust 2022-10-16 19:55:51 +01:00

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