-
-
Notifications
You must be signed in to change notification settings - Fork 374
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Diaphora 3.2.1 is much slower than diaphora 2.1.0 when exporting large binaries #305
Comments
Uhm... it sounds weird. Let me take a look to it. If you can share your binaries it would be cool, but I guess I can work on this issue without them anyway. Thanks for letting me know! |
The binary file is bedrock dedicated server for windows and can be downloaded from this link: https://minecraft.azureedge.net/bin-win/bedrock-server-1.20.81.01.zip |
Hey, @joxeankoret have you by any chance had a time to look at it? If not, I will probably take a stab at it because I am exporting a go binary that has 75k functions and it is taking hours to do EDIT: I ran it with a version that added an index on that column that was being selected and it took about the same amount of time, but doubled the size of the resulting sqlite file. |
I'm sorry, I haven't had enough time. Usually, indices work like this: they will, probably, reduce query times (significantly or not depends on the queries by themselves) but greatly increase database size because, naturally, the index needs storage too. |
I'm trying to export a large binary with about 180,000 functions using the latest diaphora, and I've noticed that the export time has become very long compared to diaphora 2.1.0.
And I noticed that the export speed seems to slow down as more functions are exported, so I did the following test:
Set
DIAPHORA_PROFILE=1
to enable profiling.Set the export range to 0x140001000-0x140800000 to export only the first 30,000 functions. This took 32 minutes.
Log: 2-0x140001000-0x140800000.log
set the export range to 0x140800000-0x141000000 to export about 25000 functions afterwards. This took 39 minutes.
Log: 3-0x140800000-0x141000000.log
Set the export range to 0x140001000-0x141000000 to export the first 55,000 functions. This took over two hours, almost twice as slow as exporting the two parts separately.
Log: 4-0x140001000-0x141000000.log
For comparison, using diaphora 2.1.0 to export the first 55000 functions, this took only 15 minutes, faster than either of the above.
Log: 5-0x140001000-0x141000000-diaphora2.1.0.log
The above tests basically confirms that diaphora 3.2.1 export speed slows down as the number of exported functions increases, and is significantly slower than diaphora 2.1.0.
The text was updated successfully, but these errors were encountered: