Skip to content

File flush call in BinDiff port features causes a 3000% + slowdown #18

@GoogleCodeExporter

Description

@GoogleCodeExporter
What steps will reproduce the problem?
1. CTRL-6 Diff any set of IDBs (more noticeable on large ones).
2. After Diff is done, do a CTRL-6 again and click “Import Symbols and 
Comments..” feature.
3. Sit and wait, wait some more, until it's done.

What is the expected output? What do you see instead?
Port feature to complete in reasonable time.
A deadlocked IDA with thread starved UI, Maybe a smoking overheated HD.

What version of the product are you using? On what operating system?
4.0.x, any supported OS.

Please provide any additional information below.
An API either by design or mistake kernel32->FlushFileBuffers() causes
excessive disk writes and thus kills performance.

Also the temp file it apparently repeatedly writes too is very small.
Instead of an fstream concept, I suggest it be replaced with a memstream one.
See: http://www.sirmabus.macromonkey.com/speed-zynamics-bindiff-3000percent/




Original issue reported on code.google.com by crashdu...@gmail.com on 27 Feb 2013 at 6:23

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions