Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
19.10.2021, 12:03
|
|||
---|---|---|---|
|
|||
И снова асинхронность |
|||
#18+
Добрый день всем! Есть синхронный процес, который обращается к разным БД для получения данных - GetData. Для уменьшения времени получения данных я использую несколько задач и паралельно их запускаю Код: c# 1. 2. 3. 4. 5.
Вопрос. Если сделать процесс GetData асинхронным получу ли я какую-то выгоду в быстродействии? Основное время (99,9%) тратится на получения данных ExecuteReader. Если заменить его на ExecuteReaderAsync? Насколько я понимаю, никакого прироста скорости не должно быть? Или я ошибаюсь? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.10.2021, 12:08
|
|||
---|---|---|---|
И снова асинхронность |
|||
#18+
Прироста в скорости не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.10.2021, 12:08
|
|||
---|---|---|---|
|
|||
И снова асинхронность |
|||
#18+
SergiiW, прироста скорости не будет, особенно в малонагруженной системе. только больше потеряете. для начала разберитесь, чем асинхронность, отличается от многозадачности, это разные вещи. Threading.Tasks.Task.Factory.StartNew - уже 100500 лет как устарело ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.10.2021, 12:15
|
|||
---|---|---|---|
|
|||
И снова асинхронность |
|||
#18+
Roman Mejtes SergiiW, Threading.Tasks.Task.Factory.StartNew - уже 100500 лет как устарело Странно, для net 5 указано его использовать https://docs.microsoft.com/ru-ru/dotnet/api/system.threading.tasks.task.waitall?view=net-5.0 А что сейчас вместо него используют? Спасибо, увидел Threading.Tasks.Task.Run ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.10.2021, 12:25
|
|||
---|---|---|---|
И снова асинхронность |
|||
#18+
SergiiW, обычно его и по дефолту используют, но не стоит ожидать от него каких-либо космических результатов. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.10.2021, 12:52
|
|||
---|---|---|---|
|
|||
И снова асинхронность |
|||
#18+
vb_sub, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.10.2021, 15:58
|
|||
---|---|---|---|
|
|||
И снова асинхронность |
|||
#18+
SergiiW, Практически однозначно будет падение перфоманса. Так как создание нового таска - это затратная операция. В асинхронности дело обычно не в быстродействии. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.10.2021, 17:00
|
|||
---|---|---|---|
|
|||
И снова асинхронность |
|||
#18+
SergiiW А что сейчас вместо него используют? Спасибо, увидел Threading.Tasks.Task.Run Это не "вместо", у StartNew и Run разная специфика. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
19.10.2021, 19:14
|
|||
---|---|---|---|
|
|||
И снова асинхронность |
|||
#18+
я к тому, что если автор обращается в базу данных, то все асинхронные вызовы там есть из коробки, хотя не факт, конечно ... |
|||
:
Нравится:
Не нравится:
|
|||
|
29.10.2021, 04:50
|
|||
---|---|---|---|
И снова асинхронность |
|||
#18+
SergiiW Насколько я понимаю, никакого прироста скорости не должно быть? Или я ошибаюсь? Всё зависит от того, сколько таких задач вы собираетесь запускать на одной тачке. Если очень много, тысячи, то прирост перфоманса будет засчёт экономии выч. ресурсов на холостое ожидание, и в пул не упрётесь. А так-то, кто мешает провести эксперименты? ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=20&tablet=1&tid=1398215]: |
0ms |
get settings: |
8ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
37ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
50ms |
get tp. blocked users: |
2ms |
others: | 262ms |
total: | 391ms |
0 / 0 |