From: HERNAN M. F. <her...@ob...> - 2013-07-03 09:29:05
|
>> Profiling my application I found that one bottleneck seems to be when >> canceling a cursor. It also happens even if it was already consumed (i.e., > > What bottleneck? > I was profiling my application to look up where to apply our optimization efforts. The process I was measuring is a big loop with reads and updates. I was hoping to see that most of the time was expended in I/O and if it was not to optimize the rest of my code. What I didn't expect was that all command.Cancel()'s to take (as reported by the profiler) more than 50% of the time. Such command is an ExecuteQuery and the DataReader had already read all the records. >> finished to read all the rows). >> Is this an expected behavior? I'm asking because it may very well be a bug > > You didn't described the behavior. > >> If it helps, the profiler marks the methods BuildSqlState() and >> BuildExceptionMessage() from FirebirdSql.Data.Common.IscException. > > Marks with what? Why? It's a profiler, it just says 'HOT'. It doesn't really matter the actual label, it just reports that those methods take most of the time. I know nothing about Firebird .Net provider so it could be very well the correct behavior. I were just telling what I saw. > > Also providing the test case/code in your question would help others > understand what you're trying to do. Fair enough. |