Skip to content

Commit 24c3df1

Browse files
committed
1 parent 9765052 commit 24c3df1

File tree

3 files changed

+19
-4
lines changed

3 files changed

+19
-4
lines changed

java-diff-utils/src/main/java/com/github/difflib/algorithm/myers/MeyersDiffWithLinearSpace.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -87,9 +87,6 @@ private void buildScript(DiffData data, int start1, int end1, int start2, int en
8787
}
8888
} else {
8989
buildScript(data, start1, middle.start, start2, middle.start - middle.diag);
90-
// for (int i = middle.getStart(); i < middle.getEnd(); ++i) {
91-
// script.append(new KeepCommand<>(left.charAt(i)));
92-
// }
9390
buildScript(data, middle.end, end1, middle.end - middle.diag, end2);
9491
}
9592
}

java-diff-utils/src/test/java/com/github/difflib/algorithm/myers/MeyersDiffWithLinearSpaceTest.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,11 +15,14 @@
1515
*/
1616
package com.github.difflib.algorithm.myers;
1717

18+
import com.github.difflib.DiffUtils;
1819
import com.github.difflib.algorithm.DiffAlgorithmListener;
1920
import com.github.difflib.patch.Patch;
2021
import java.util.ArrayList;
2122
import java.util.Arrays;
2223
import java.util.List;
24+
import static java.util.stream.Collectors.toList;
25+
import java.util.stream.IntStream;
2326
import org.junit.jupiter.api.Test;
2427
import static org.junit.jupiter.api.Assertions.*;
2528

@@ -70,4 +73,19 @@ public void diffEnd() {
7073
System.out.println(logdata);
7174
assertEquals(8, logdata.size());
7275
}
76+
77+
78+
@Test
79+
public void testPerformanceProblemsIssue124() {
80+
List<String> old = Arrays.asList("abcd");
81+
List<String> newl = IntStream.range(0, 90000)
82+
.boxed()
83+
.map(i -> i.toString())
84+
.collect(toList());
85+
86+
long start = System.currentTimeMillis();
87+
Patch<String> diff = DiffUtils.diff(old, newl, new MeyersDiffWithLinearSpace<String>());
88+
long end = System.currentTimeMillis();
89+
System.out.println("Finished in " + (end - start) + "ms and resulted " + diff.getDeltas().size() + " deltas");
90+
}
7391
}

java-diff-utils/src/test/java/com/github/difflib/algorithm/myers/WithMeyersDiffWithLinearSpacePatchTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ public void testPatch_Change_withExceptionProcessor() {
9595
List<String> data = DiffUtils.patch(changeTest_from, patch);
9696
assertEquals(11, data.size());
9797

98-
assertEquals(Arrays.asList("aaa", "<<<<<< HEAD", "bbb", "CDC", "======", "bbb", "ccc", ">>>>>>> PATCH", "ddd"), data);
98+
assertEquals(Arrays.asList("aaa", "bxb", "cxc", "<<<<<< HEAD", "bbb", "CDC", "======", "bbb", "ccc", ">>>>>>> PATCH", "ddd"), data);
9999

100100
} catch (PatchFailedException e) {
101101
fail(e.getMessage());

0 commit comments

Comments
 (0)