Skip to content

Commit dbb5d55

Browse files
feat: include react-diff-viewer-continued in benchmark matrix
1 parent 44d1c26 commit dbb5d55

4 files changed

Lines changed: 16 additions & 4 deletions

File tree

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ A runnable benchmark harness is included to compare:
8888

8989
- `react-virtualized-diff` (this project)
9090
- `react-diff-viewer`
91+
- `react-diff-viewer-continued`
9192
- `react-diff-view`
9293

9394
Metrics collected for each dataset size (`1k / 10k / 50k / 100k` lines):

apps/benchmark/package.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@
1616
"react-diff-view": "^3.2.2",
1717
"react-diff-viewer": "^3.1.1",
1818
"react-dom": "^18.3.1",
19-
"react-virtualized-diff": "workspace:*"
19+
"react-virtualized-diff": "workspace:*",
20+
"react-diff-viewer-continued": "^3.2.6"
2021
},
2122
"devDependencies": {
2223
"@types/react": "^18.3.12",

apps/benchmark/src/main.tsx

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
import React from 'react';
22
import ReactDOM from 'react-dom/client';
33
import ReactDiffViewer from 'react-diff-viewer';
4+
import ReactDiffViewerContinued from 'react-diff-viewer-continued';
45
import { Diff, Hunk, parseDiff } from 'react-diff-view';
56
import 'react-diff-view/style/index.css';
67
import { DiffViewer } from 'react-virtualized-diff';
78

8-
type LibraryName = 'virtualized-diff-viewer' | 'react-diff-viewer' | 'react-diff-view';
9+
type LibraryName = 'virtualized-diff-viewer' | 'react-diff-viewer' | 'react-diff-viewer-continued' | 'react-diff-view';
910

1011
type BenchmarkParams = {
1112
lib: LibraryName;
@@ -42,7 +43,7 @@ function parseParams(): BenchmarkParams {
4243
const height = Number(params.get('height') ?? defaultParams.height);
4344

4445
const normalizedLib: LibraryName =
45-
lib === 'react-diff-view' || lib === 'react-diff-viewer' || lib === 'virtualized-diff-viewer'
46+
lib === 'react-diff-view' || lib === 'react-diff-viewer' || lib === 'react-diff-viewer-continued' || lib === 'virtualized-diff-viewer'
4647
? lib
4748
: defaultParams.lib;
4849

@@ -156,6 +157,15 @@ function App() {
156157
showDiffOnly={false}
157158
/>
158159
);
160+
} else if (params.lib === 'react-diff-viewer-continued') {
161+
viewer = (
162+
<ReactDiffViewerContinued
163+
oldValue={payload.oldText}
164+
newValue={payload.newText}
165+
splitView
166+
showDiffOnly={false}
167+
/>
168+
);
159169
} else {
160170
const files = parseDiff(payload.unifiedDiff);
161171
const file = files[0];

scripts/run-benchmark.mjs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ import { spawn, spawnSync } from 'node:child_process';
33
import { mkdirSync, writeFileSync } from 'node:fs';
44
import { resolve } from 'node:path';
55

6-
const libs = ['virtualized-diff-viewer', 'react-diff-viewer', 'react-diff-view'];
6+
const libs = ['virtualized-diff-viewer', 'react-diff-viewer', 'react-diff-viewer-continued', 'react-diff-view'];
77
const sizes = [1000, 10000, 50000, 100000];
88
const port = 4174;
99
const baseUrl = `http://127.0.0.1:${port}`;

0 commit comments

Comments
 (0)