bsdiff.exe를 사용하여 소프트웨어 패치를 작성하고 bspatch.exe를 적용하여 120MB 미만의 파일에는 문제가 없었습니다. 내가 가지고있는 하나의 바이너리 파일은 이전에 21MB 였고 현재 77MB이고 bsdiff는 무기한으로 정지 된 것처럼 보입니다.bsdiff.exe가이 작은 파일에 문제가있는 이유는 무엇입니까?
documentation에 따르면 "bsdiff는 메모리가 많이 필요하며 max (17 * n, 9 * n + m) + O (1) 바이트의 메모리가 필요합니다. 여기서 n은 이전 파일의 크기이고 m은 새 파일의 크기입니다. " 큰 파일의 문제를 설명하는 있지만 델타 큰 경우 문제가 발생하는 것으로 보입니다.
누구와 관련하여이 정보가 있습니까? 아무거나는 도움이 될 것입니다, 감사합니다!
버그를 지적 할 수 있습니까? 이 포크에서 수정되었는지 조사하고 싶습니다 - https://github.com/mendsley/bsdiff –
정확히 어디서 버그인지는 모르겠지만 여기에 알고리즘 적으로 고정 될 수 있다고 Colin이 말한 곳이 있습니다 : http : //debian.2.n7.nabble.com/Bug-409664-bsdiff-is-extremely-slow-on-some-files-sometimes-hangs-td1738215.html –