Fossil

Check-in [9e15437e]
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Huge performance improvement for certain pathological cases for diffing of very large files.
Downloads: Tarball | ZIP archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA1: 9e15437e971d3f823bf60aa14455676a70d56d7a
User & Date: drh 2012-06-22 22:39:32.418
Context
2012-06-22
23:32
Update the built-in SQLite to the latest version from the trunk of the SQLite tree. The diff of this SQLite change will be very slow without the previous check-in that enhances the diff performance. ... (check-in: c5b835dd user: drh tags: trunk)
22:39
Huge performance improvement for certain pathological cases for diffing of very large files. ... (check-in: 9e15437e user: drh tags: trunk)
13:03
Minor Makefile hack to allow "make clean" to work from ./src/. ... (check-in: 4e4b6cc3 user: stephan tags: trunk)
Changes
Unified Diff Ignore Whitespace Patch
Changes to src/diff.c.
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
    score = (iEX - iSX) - 0.05*skew - 0.05*dist;
    if( score>bestScore ){
      bestScore = score;
      iSXb = iSX;
      iSYb = iSY;
      iEXb = iEX;
      iEYb = iEY;
    }else{
      iSXp = iSX;
      iSYp = iSY;
      iEXp = iEX;
      iEYp = iEY;
    }
  }
  if( iSXb==iEXb && (iE1-iS1)*(iE2-iS2)<400 ){







|







1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
    score = (iEX - iSX) - 0.05*skew - 0.05*dist;
    if( score>bestScore ){
      bestScore = score;
      iSXb = iSX;
      iSYb = iSY;
      iEXb = iEX;
      iEYb = iEY;
    }else if( iEX>iEXp ){
      iSXp = iSX;
      iSYp = iSY;
      iEXp = iEX;
      iEYp = iEY;
    }
  }
  if( iSXb==iEXb && (iE1-iS1)*(iE2-iS2)<400 ){