|
Быстродействие при отладке
|
|||
---|---|---|---|
#18+
Добрый день. Может кто сталкивался с проблемой быстродействия при отладке приложения. Заметил, что, если приложение запусать без отладки приложение, грузиться около минуты. но при отладке может грузиться 15-20 минут. Так же при работе приложения в отладке приложение притормаживает в основном при работе с бд. Я понимаю, что при отладке неизбежно приложение будет работать медленнее, но не в 15-20 раз. Профилирование программы показало, что в основном тормаза возникают при работе с бд. а конкретно 98% занимает выолнение System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior, String). ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2021, 20:06 |
|
Быстродействие при отладке
|
|||
---|---|---|---|
#18+
haicon, Советую посмотреть профилировщиком где больше всего тратится процессорного времени при запуске. Также возможно где-то есть проверка на макрос debug и выполняется другая ветка, более медленная ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2021, 20:14 |
|
Быстродействие при отладке
|
|||
---|---|---|---|
#18+
haicon основном тормаза возникают при работе с бд Минуту на запуск без отладки? Круто. Тут точно не с отладкой надо разбираться, а с запросами. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2021, 20:52 |
|
Быстродействие при отладке
|
|||
---|---|---|---|
#18+
haicon без отладки приложение, грузиться около минуты Это много! 5 сек еще можно потерпеть, ну 10 если очень уважаешь, но не минуту. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2021, 21:12 |
|
Быстродействие при отладке
|
|||
---|---|---|---|
#18+
Dima T Это много! 5 сек еще можно потерпеть, ну 10 если очень уважаешь, но не минуту. Ну, можно какую-нить сплэшку показать. Ничего, люди терпят. Знаю тех, что примерно минуту и любуется на сплэш SSMS. Shocker.Pro haicon основном тормаза возникают при работе с бд Минуту на запуск без отладки? Круто. Тут точно не с отладкой надо разбираться, а с запросами. Насколько мне известно, запросы индифферентны к Debug/Release, там работают несколько другие факторы. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2021, 21:17 |
|
Быстродействие при отладке
|
|||
---|---|---|---|
#18+
Сон Веры Павловны Dima T Это много! 5 сек еще можно потерпеть, ну 10 если очень уважаешь, но не минуту. Ну, можно какую-нить сплэшку показать. Ничего, люди терпят. Знаю тех, что примерно минуту и любуется на сплэш SSMS. Если некуда деваться, то терпят, смотрят на ... . Но это разве нормально? Я с линукса на виндавс вернулся потому что вроде быстро, но потом сплэшка и по времени я проиграл. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2021, 21:22 |
|
Быстродействие при отладке
|
|||
---|---|---|---|
#18+
Наверняка из БД что-то читается. Я бы не сплешку показал, а неполноценный интерфейс, и по мере подгрузки нужных данных, появлялась бы нужная функциональность. А у ТС приложение, судя по ExecuteReader вместо ExecuteReaderAsync, не про асинхронность. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.01.2021, 21:47 |
|
Быстродействие при отладке
|
|||
---|---|---|---|
#18+
Проблема точно не в ветлении кода на Debug\Release, так запуск программы под Debeug и release без отладки примерно одинаково приемлимое. Вся просадка происходит в отладке. И именно в обращении к БД. Запросы к БД идут одинаковые не зависящие от релиза или отладки. оптимизация тут не причем так как при загрузке без отладки и с отладкой идут одинаковые и профилировщик бд выдает также приемлимые данные. для наглядности рофилировка 97,31 % ExecuteReader • 417 719 ms • System.Data.Common.DbCommand.ExecuteReader(CommandBehavior) 97,31 % ExecuteDbDataReader • 417 719 ms • System.Data.SqlClient.SqlCommand.ExecuteDbDataReader(CommandBehavior) 97,31 % ExecuteReader • 417 719 ms • System.Data.SqlClient.SqlCommand.ExecuteReader(CommandBehavior, String) 7,88 % RunExecuteReader • 33 832 ms • System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior, RunBehavior, Boolean, String) 7,88 % RunExecuteReader • 33 832 ms • System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior, RunBehavior, Boolean, String, TaskCompletionSource, Int32, out Task, out Boolean, Boolean, Boolean) 7,85 % RunExecuteReaderTds • 33 679 ms • System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior, RunBehavior, Boolean, Boolean, Int32, out Task, Boolean, Boolean, SqlDataReader, Boolean) 7,59 % FinishExecuteReader • 32 564 ms • System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader, RunBehavior, String, Boolean, Boolean, Boolean) 7,57 % get_MetaData • 32 513 ms • System.Data.SqlClient.SqlDataReader.get_MetaData 7,57 % TryConsumeMetaData • 32 504 ms • System.Data.SqlClient.SqlDataReader.TryConsumeMetaData 7,57 % TryRun • 32 504 ms • System.Data.SqlClient.TdsParser.TryRun(RunBehavior, SqlCommand, SqlDataReader, BulkCopySimpleResultSet, TdsParserStateObject, out Boolean) 7,50 % TryReadByte • 32 211 ms • System.Data.SqlClient.TdsParserStateObject.TryReadByte(out Byte) 7,50 % TryPrepareBuffer • 32 211 ms • System.Data.SqlClient.TdsParserStateObject.TryPrepareBuffer 7,50 % TryReadNetworkPacket • 32 203 ms • System.Data.SqlClient.TdsParserStateObject.TryReadNetworkPacket 7,50 % ReadSniSyncOverAsync • 32 195 ms • System.Data.SqlClient.TdsParserStateObject.ReadSniSyncOverAsync 7,47 % SNIReadSyncOverAsync • 32 054 ms • SNINativeMethodWrapper.SNIReadSyncOverAsync(SafeHandle, ref IntPtr, Int32) 0,00 % [Garbage collection] • 18 ms 0,03 % 4 functions hidden • 140 ms total 0,00 % TryProcessHeader • 8 ms • System.Data.SqlClient.TdsParserStateObject.TryProcessHeader ►0,06 % TryProcessMetaData • 244 ms • System.Data.SqlClient.TdsParser.TryProcessMetaData(Int32, TdsParserStateObject, out _SqlMetaDataSet, SqlCommandColumnEncryptionSetting) 0,01 % 3 functions hidden • 33 ms total 0,00 % get_IsClosed • 9 ms • System.Data.SqlClient.SqlDataReader.get_IsClosed 0,01 % 2 functions hidden • 34 ms total ►0,14 % TdsExecuteRPC • 622 ms • System.Data.SqlClient.TdsParser.TdsExecuteRPC(SqlCommand, _SqlRPC[], Int32, Boolean, SqlNotificationRequest, TdsParserStateObject, Boolean, Boolean, TaskCompletionSource, Int32, Int32) 0,06 % 5 functions hidden • 252 ms total ►0,05 % ValidateAndReconnect • 225 ms • System.Data.SqlClient.SqlConnection.ValidateAndReconnect(Action, Int32) 0,03 % 2 functions hidden • 144 ms total 0,02 % 4 functions hidden • 71 ms total ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2021, 01:25 |
|
Быстродействие при отладке
|
|||
---|---|---|---|
#18+
Так что тут удивительного-то? Без подключения отладчика/профилировщика расклад будет точно такой же. Синхронный метод ExecuteReader тупо тратит время на ожидание долгой операции обращения к БД. Ты лучше покажи результат профилирования обращений к БД. Может быть у тебя там в цикле миллион обращений к БД идет. А то на этом трейсе даже количества вызовов не видно. ... |
|||
:
Нравится:
Не нравится:
|
|||
01.02.2021, 01:42 |
|
|
start [/forum/topic.php?fid=20&msg=40039995&tid=1398374]: |
0ms |
get settings: |
10ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
46ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
48ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 150ms |
0 / 0 |