|
И снова асинхронность
|
|||
---|---|---|---|
#18+
Добрый день всем! Есть синхронный процес, который обращается к разным БД для получения данных - GetData. Для уменьшения времени получения данных я использую несколько задач и паралельно их запускаю Код: c# 1. 2. 3. 4. 5.
Вопрос. Если сделать процесс GetData асинхронным получу ли я какую-то выгоду в быстродействии? Основное время (99,9%) тратится на получения данных ExecuteReader. Если заменить его на ExecuteReaderAsync? Насколько я понимаю, никакого прироста скорости не должно быть? Или я ошибаюсь? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 12:03 |
|
И снова асинхронность
|
|||
---|---|---|---|
#18+
Прироста в скорости не будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 12:08 |
|
И снова асинхронность
|
|||
---|---|---|---|
#18+
SergiiW, прироста скорости не будет, особенно в малонагруженной системе. только больше потеряете. для начала разберитесь, чем асинхронность, отличается от многозадачности, это разные вещи. Threading.Tasks.Task.Factory.StartNew - уже 100500 лет как устарело ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 12:08 |
|
И снова асинхронность
|
|||
---|---|---|---|
#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:15 |
|
И снова асинхронность
|
|||
---|---|---|---|
#18+
SergiiW, обычно его и по дефолту используют, но не стоит ожидать от него каких-либо космических результатов. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 12:25 |
|
И снова асинхронность
|
|||
---|---|---|---|
#18+
vb_sub, спасибо! ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 12:52 |
|
И снова асинхронность
|
|||
---|---|---|---|
#18+
SergiiW, Практически однозначно будет падение перфоманса. Так как создание нового таска - это затратная операция. В асинхронности дело обычно не в быстродействии. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 15:58 |
|
И снова асинхронность
|
|||
---|---|---|---|
#18+
SergiiW А что сейчас вместо него используют? Спасибо, увидел Threading.Tasks.Task.Run Это не "вместо", у StartNew и Run разная специфика. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 17:00 |
|
И снова асинхронность
|
|||
---|---|---|---|
#18+
я к тому, что если автор обращается в базу данных, то все асинхронные вызовы там есть из коробки, хотя не факт, конечно ... |
|||
:
Нравится:
Не нравится:
|
|||
19.10.2021, 19:14 |
|
И снова асинхронность
|
|||
---|---|---|---|
#18+
SergiiW Насколько я понимаю, никакого прироста скорости не должно быть? Или я ошибаюсь? Всё зависит от того, сколько таких задач вы собираетесь запускать на одной тачке. Если очень много, тысячи, то прирост перфоманса будет засчёт экономии выч. ресурсов на холостое ожидание, и в пул не упрётесь. А так-то, кто мешает провести эксперименты? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.10.2021, 04:50 |
|
|
start [/forum/topic.php?fid=20&fpage=2&tid=1398215]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
42ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 254ms |
total: | 387ms |
0 / 0 |