{"id":17229902,"url":"https://github.com/josephg/editing-traces","last_synced_at":"2025-03-22T18:34:18.064Z","repository":{"id":66051975,"uuid":"359355405","full_name":"josephg/editing-traces","owner":"josephg","description":"Real world text editing traces for benchmarking CRDT and Rope data structures","archived":false,"fork":false,"pushed_at":"2023-12-21T04:14:36.000Z","size":8676,"stargazers_count":45,"open_issues_count":4,"forks_count":2,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-01T17:51:28.876Z","etag":null,"topics":["benchmarking","collaborative-editing","crdt","crdts","rope-string","text-editor"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/josephg.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-04-19T06:41:12.000Z","updated_at":"2025-02-04T15:21:06.000Z","dependencies_parsed_at":null,"dependency_job_id":"45c538ad-5e70-450a-b238-edb29a9ae1f0","html_url":"https://github.com/josephg/editing-traces","commit_stats":null,"previous_names":["josephg/editing-traces"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josephg%2Fediting-traces","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josephg%2Fediting-traces/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josephg%2Fediting-traces/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/josephg%2Fediting-traces/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/josephg","download_url":"https://codeload.github.com/josephg/editing-traces/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245003569,"owners_count":20545632,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmarking","collaborative-editing","crdt","crdts","rope-string","text-editor"],"created_at":"2024-10-15T04:51:42.457Z","updated_at":"2025-03-22T18:34:17.558Z","avatar_url":"https://github.com/josephg.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# What is this?\n\nThis repository contains some editing histories from real world character-by-character editing traces. The goal of this repository is to provide some standard benchmarks that we can use to compare the performance of rope libraries and various OT / CRDT implementations.\n\n## Where is the data?\n\nThis repository stores 2 kinds of data, in 2 subdirectories:\n\n#### [Sequential Traces](sequential_traces/)\n\nThe [sequential_traces](sequential_traces/) folder contains a set of simple editing traces where all the edits can be applied in sequence to produce a final text document.\n\nMost of these data sets come from individual users typing into text documents. Each editing event (keystroke) has been recorded so they can be replayed later.\n\nSome of these traces are generated by linearizing (\"flattening\") the concurrent traces (below). Regardless, the data format is the same.\n\nThese traces are super simple to replay - just apply each change, one by one, into an empty document and you'll get the expected output.\n\nSee [sequential_traces/README.md](sequential_traces/README.md) for detail on the data format used and other notes.\n\nThese traces are useful for benchmarking how CRDTs behave when there is only a single user making changes to a text document. Or benchmarking rope libraries.\n\nThese data sets describe their editing positions using unicode character offsets. If you don't want to think about unicode offsets while benchmarking, use the [`ascii_only`](sequential_traces/ascii_only) variants of these traces. In the ascii variants, all non-ascii inserts have been replaced with the underscore character.\n\n\n#### [Concurrent Traces](concurrent_traces/)\n\nThe [concurrent_traces](concurrent_traces/) folder contains editing traces where multiple users typed into a shared text document concurrently. (Concurrently means, they were typing at the same time).\n\nThese traces are much harder to replay, because each editing position listed in the file is relative to the version of the document on that user's computer when they were typing. This complexity is, unfortunately, necessary to replay a collaborative editing session between multiple users. - Which is what we need when benchmarking text based CRDTs.\n\nSee [concurrent_traces/README.md](concurrent_traces/README.md) for detail on the data format used and notes.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosephg%2Fediting-traces","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjosephg%2Fediting-traces","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosephg%2Fediting-traces/lists"}