You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Ultimately, it would be very valuable to be able to turn on verbose debugging on a per-module basis. I don't have any design in mind, just that you could set it in the mythril cfg to help debugging without being overwhelmed with other messages.
The text was updated successfully, but these errors were encountered:
Hi Adam, we are interested in tackling this issue. After some tests on our side it is clear to us that performance could be impacted by this filtering.
Currently what we though of was adding a configuration like:
We check if the module (metadata.target()) is specified (like mythril::virtdev::pci is in the example)
We use the provided log max level if it is the case
We use the default level (*) otherwise
This would mean that each log call now has a BTreeMap entry search and multiple string comparisons.
Boot-to-shell time is increased by 50% by this change.
A solution to this problem would be to use the crate hashbrown which is an implementation of HashMap usable in a no-std environment (it was even used as the base of the rework of std’s HashMap). It improves performance in a significant way compared to BTreeMap, but is an additional dependency.
Ultimately, it would be very valuable to be able to turn on verbose debugging on a per-module basis. I don't have any design in mind, just that you could set it in the mythril cfg to help debugging without being overwhelmed with other messages.
The text was updated successfully, but these errors were encountered: