lucasg / Dependencies

A rewrite of the old legacy software "depends.exe" in C# for Windows devs to troubleshoot dll load dependencies issues.
MIT License
9.16k stars 753 forks source link

Add option to run without BinaryCache #131

Open univert opened 4 years ago

univert commented 4 years ago

BinaryCache is inefficient when running against huge amount of dlls (i.e. large applications) with hundreds of dlls. This is not only disk space overhead also additional I/O overhead and will also cause cache thrashing . So when I am sure that file locking is not an issue, I'd like to run without BinaryCache to gain some flexibility

lucasg commented 4 years ago

Yeah, totally agree. However to prevent file locking I need to change completely my PE parser (I currently use ProcessHacker's phlib).

It's in my TODO list, but unfortunately there are a lot of items higher up in the food chain

AndhikaWB commented 3 years ago

I also agree to this. Analyzing complex program (such as Photoshop.exe in my case) can take up to 500 MB BinaryCache size.

lucasg commented 3 years ago

I'm implemented a pretty rudimentary version: you can choose it in the "Options>Preferences>Use BinaryCache" but the settings is application wide and you need to restart Dependencies since BinaryCache is implemented as a singleton.

The default settings is to use BinaryCache. You can test it by downloading artifacts from b19e49d42b5ec3c4ea06e5da516f646f4e0a6459

Without: image

With: image

techxdave commented 1 year ago

It would be nice to have a command line option for running without the Binary Cache as the cache directory accumulates and becomes quite large for us (order of 100GB).