Skip to main content
dits · Benchmarks · plain English, real numbers

Less data moved.
A smaller cloud bill.

You changed a few frames of a video. Here's how much less dits had to store and move — and what that saves in real dollars — measured against the tools people actually use, on one computer.

Data saved
0%
less to store & upload, per edit
vs the best tools people use today
Cost saved
$2,851
/year less in bandwidth
a 5-person team, one asset (ch. 08)
Per-edit data saved
98%
re-color a few frames
Team bill avoided
$2,851/yr
5 people, 1 asset
Bytes that never move
100%
of distribution egress
One big edit
100%
10 GB asset, ~200 KB delta

Every comparison below is measured on one machine; project-over-time and scaling projections are clearly labeled. The honest losses are shown too — starting with the next section.

01
The simple idea

Most tools re-save the whole file. dits saves only the part you changed.

✏️

Imagine fixing one typo in a 400-page book — then being forced to reprint all 400 pages. That's what normal backup and version tools do with video. dits reprints the one page.

The catch: to do that, a tool has to understand what's inside a video. Most don't. Below, we show exactly where that matters — and where it doesn't.

02
The honest part — first

Sometimes nothing helps much. We'll show you that too.

When a video editor exports a finished clip, almost every byte gets rewritten — even the parts that look the same. So even the smartest tools skip only a little. dits' basic mode does no better here.

git-lfsbaseline
saved 0%
resticCDC dedup
saved 17.9%
borgCDC dedup
saved 14.6%
xdelta3binary delta
saved 21.3%
dits — basic modeno video smarts
saved 0%
Why we show this

If dits doesn't understand the video, it's no better than zipping a file. That's the whole reason the next pages exist.

03
When dits understands the video

Re-color a few frames?

0%
of the video is reused, untouched
Tools without frame-awarenessre-save the whole file
100%
ditssaves only what changed
1.7%
In plain terms

You touched a handful of frames; dits stored a handful of frames. Storage and upload shrink by ~98% for that edit.

04
Live & streaming video

Tweak a 2-second moment in a stream?

0%
less data sent to viewers

Most streaming setups re-process and re-send the entire video after any change. dits rebuilds only the piece you touched — the rest is reused byte-for-byte.

05
Renaming & small fixes

Just changed the title or a setting?

borgCDC dedup
saved 64.1%
resticCDC dedup
saved 74.9%
dits — basic modeno video smarts
saved 98.8%
xdelta3binary delta
saved 100%

Here's the honest part: the good general-purpose dedup tools handle this well too — restic skips ~95% of it. dits edges ahead, but structural edits aren't where the gap is. The real difference is frame work (chapters 03–04), not renames.

06
Is it fast, too?

Yes. The engine under the hood.

The math that fingerprints and slices your files runs at hundreds of megabytes per second. We track it every commit so it never slows down.

Fingerprinting
faster than common SHA-256
Slicing files
992 MB/s
finds reusable pieces
BLAKE3 hashing
1810 MB/s
content fingerprint
07
What it means in money & time

The same edit, translated into dollars and minutes.

Bytes are abstract. So we convert the result into the things people feel: your cloud bill and your upload time.

Storage / version / yr
<$0.01
vs $0.28 re-storing the file
Upload time
3.3 s
vs 2.7 min re-storing the file
Egress / 1k viewers
$1.80
vs $90.00 re-storing the file
Data saved
98%
of the file reused

Measured dedup applied to a 1 GB clip. Assumptions: S3 Standard $0.023/GB-mo · egress $0.09/GB · 50 Mbps upload. No hidden math.

(Translation of our measured frame-dedup to a 1 GB reference clip. On a full re-export, where dits' basic mode doesn't win, there's no saving — see chapter 02.)

08
The bandwidth bill, in dollars

Every re-transfer is a line item on a cloud invoice.

Whole-file tools (Git LFS, manual copies) move the entire asset every time it changes. dits' content-defined chunking + delta transfer moves only the changed chunks. Priced at real cloud egress rates, that gap is money.

Monthly savings
$237.6
team distribution scenario, below
Annual savings
$2,851.15
12 × monthly, same assumptions
Bandwidth avoided
100%
of bytes never leave the server

One small edit to a 10 GB asset

A localized change (re-color a few frames). Whole-file tools re-transfer the entire 10 GB; dits transfers only the ~200 KB of changed chunks — the same figure as the engine's measured delta. Cost = GB transferred × egress rate.

Per edit, transferredData moved@ $0.09/GB (S3)@ $0.01/GB (B2)
Git LFS / manual10 GB$0.90$0.10
dits~200 KB< $0.01< $0.01

That's 100% less data per edit — and the dollar gap compounds every time the asset is distributed.

A 5-person team, one month

Stated assumptions: 5 collaborators, 3 edits/day over 22 working days (66 new versions/month) on the same 10 GB asset. Each new version is pulled by the other 4 teammates — and egress (data-transfer-out) is what cloud providers bill for serving those pulls. Whole-file tools download all 10 GB each pull; dits downloads only the changed chunks.

Per month, served outEgress (GB)@ $0.09/GB (S3)Per year
Git LFS / manual2,640 GB$237.6$2,851.2
dits52 MB< $0.01$0.05
You save2,640 GB$237.6/mo$2,851.15/yr
09
A whole project over time

Edit after edit, the storage piles up — except for dits.

One edit is nice; the real story is a project's life. We made 15 localized edits to one clip and tracked every tool's store. dits keeps only the frames you change, so it barely grows. git-lfs re-stores the whole file each time; restic's byte-level dedup can't see across the re-encode, so it climbs too. Measured, not projected.

ditsgit-lfs (re-stores everything)restic (best general tool)
56 MB0number of edits →8 MB56 MB50 MB
10
Does it hold at scale?

The bigger the file, the more dits saves.

ditsrestic (byte-level dedup)
100%0%clip size · % of the file dits / restic skip on a localized edit →97%83%1 MB2 MB4 MB8 MB

Same localized edit, clips of growing size. Frame-addressing cost tracks the edit, not the file — so the bigger the clip, the smaller a fixed edit looks, and the more dits skips. It beats byte-level dedup at every size (storing several times less even where restic does best). Measured, not projected.

11
All the data · nothing hidden

Every tool, every test, five ways.

Storage saved, bytes uploaded, time, memory. Including the tests where dits doesn't win. Download it as a spreadsheet.

What you didgit-lfsresticborgxdelta3dits-generic
Re-export a finished clip0%17.9%14.6%21.3%0%
Rename / metadata fix74.9%64.1%100%98.8%
Re-color a few frames98.3%
Edit 2s of a stream77.2%
Trim / cut a clip100%
Non-destructive photo edit100%
Color-grade the whole clip0%0%
12
More edit types · incl. the magic ones

Some edits cost dits literally zero bytes.

Trim a clip or tweak a photo, and dits stores the instructions — not a new copy. The original is reused untouched. And where dits genuinely can't help (a whole-clip re-grade), we say so.

Trim a clip

0 bytes

Cut the first second; dits just remembers the new in/out points.

Edit a photo

0 bytes

Crop, brighten, filter — dits stores the recipe, reuses the original pixels.

Edit typeBest other toolditsYou save
Trim / cutre-stores the trimmed file0 bytes100%
Non-destructive photo editre-stores the full image0 bytes100%
Color-grade the WHOLE clip0% (restic)0%~0% (honest)
13
Can you trust these?

One command re-runs every number on your own machine.

Same computer, same files, real tools. No cherry-picking, no marketing math. The test videos and the raw results live in the open-source repo.

Machine
darwin arm64 Apple M2 Pro
Tools
git-lfs · restic · borg · xdelta3 · dits-generic · dits-facr
Inputs
deterministic ffmpeg media, hash-pinned
Assumptions
S3 Standard $0.023/GB-mo · egress $0.09/GB · 50 Mbps upload
npm run bench:comparative

Where dits loses, out loud: on a full re-export, dits' basic mode is no better than the rest (see chapter 02). On a whole-clip color grade, every tool — dits included — re-stores nearly everything. Format-awareness helps with localized edits, not total rewrites. How it works →