Is it some sort of calculation program that performs a lot of calculations and then ends? Or how did you come to benchmark values (12 minutes vs. 67 minutes) like that?
I have on my to do list to try to reduce the delay introduced by those silent exceptions. However, especially in x64 there are limits to what I can achieve there. The key problem is that at the moment when the exception is raised, madExcept does not know yet whether the exception will play out to be "silent" or not. In x86 it's less of a problem because I can still do all the stack tracing etc later when I finally know whether it's a silent exception or not. But in x64 if I wait that long, the necessary information to create the stack traces is gone for good. So in x64 I at least need to store some data somewhere, so that I can later create proper stack traces. So in x64 silent exceptions do consume more time than no exceptions at all, when using madExcept. But I think I might be able to improve performance at least a bit.
Using PauseMadExcept is of course a valid workaround, but also removes madExcept protection during the time madExcept is paused.
Poor performance of madExcept under x64?
Re: Poor performance of madExcept under x64?
Thanks for the quick replies.
The application in question is a a dataloading program, which reads lines from a file (which can be a VERY large file) and validates/loads to a database.
The workaround I have in place appears to be fine, and I do have a top-most try/except in the program unit as well, where I am using
to retrieve the stack.
I haven't tested if this will provide a meaningful stack when PauseMadExcept has been issued, however .. this application is legacy and very stable; so I can live with that vulnerability for the time being.
The application in question is a a dataloading program, which reads lines from a file (which can be a VERY large file) and validates/loads to a database.
The workaround I have in place appears to be fine, and I do have a top-most try/except in the program unit as well, where I am using
Code: Select all
StackTrace(True, False, False, Nil, Nil, ExceptAddr)
I haven't tested if this will provide a meaningful stack when PauseMadExcept has been issued, however .. this application is legacy and very stable; so I can live with that vulnerability for the time being.
Re: Poor performance of madExcept under x64?
Can you try whether this beta build solves the performance problem for you?
http://madshi.net/madCollectionBeta.exe (2.7.11.6)
http://madshi.net/madCollectionBeta.exe (2.7.11.6)