Size: a a a

2020 April 08

P

Pavel in rust_offtopic
Alex Zhukovsky
или когда человек выгружает половину таблицы чтобы посортировать и пофильтровать на клиенте
а это не цикл
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
тут ты не IO делаешь
а что это?
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
а это не цикл
я знаю
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
а что это?
тут ты неоптимально локи сортируешь, но если list.Add имеет незначительное время выполнения, то это даже никак не повлияет на полное время выполнения
источник

ЕС

Егор Савельев... in rust_offtopic
Alex Zhukovsky
или когда человек выгружает половину таблицы чтобы посортировать и пофильтровать на клиенте
Зависит сильно от размера таблицы и частоты запросов.
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
тут ты неоптимально локи сортируешь, но если list.Add имеет незначительное время выполнения, то это даже никак не повлияет на полное время выполнения
list.add ничего не стоит конечно же
источник

AZ

Alex Zhukovsky in rust_offtopic
похожий код я когда жс код ревьювил поправил, и время загрузки с 3 секунд упало до 300мс. Угадайте как
источник

AZ

Alex Zhukovsky in rust_offtopic
Егор Савельев
Зависит сильно от размера таблицы и частоты запросов.
грузить лишние данные плохо вне зависимости от размер таблиц. И да, таблицы не супер болшие, но заметные
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
list.add ничего не стоит конечно же
если это преаллоцированный ArrayList, то буквально mov + inc
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
если это преаллоцированный ArrayList, то буквально mov + inc
ну ок, и?
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
ну ок, и?
то, что это ничего не стоит, а вот если бы там был не авейт, а блокирующий вызов, то была бы разница
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
то, что это ничего не стоит, а вот если бы там был не авейт, а блокирующий вызов, то была бы разница
я говорю, что этот цикл тормознутый, и так писать не надо
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
ну ок, и?
тоесть, если б у тебя было 100 запросов в сеть и каждый ты бы начинал только после окончания предыдущего — была б жопа. Исправив такое на батч-запросы и распараллелив с обработкой в циклах на отдельных потоках я ускорил время синхронизации локальной базы с удалённой по JSON-RPC с 5+ минут до 3х секунд, на смартфоне по вайфаю, и с бесконечного времени до 15-30 сек по 3г+жопорезу. Цикл циклу рознь.
источник

ЕС

Егор Савельев... in rust_offtopic
Alex Zhukovsky
я говорю, что этот цикл тормознутый, и так писать не надо
Под этот цикл отлично подходит задача сделать броадкаст. Он реализовывается именно так и никак иначе.
источник

P

Pavel in rust_offtopic
Егор Савельев
Под этот цикл отлично подходит задача сделать броадкаст. Он реализовывается именно так и никак иначе.
иначе он реализуется на уровне протокола)
источник

ЕС

Егор Савельев... in rust_offtopic
foreach(var peer in peers) {
   await peer.SendMsgAsync(msg);
}
источник

AZ

Alex Zhukovsky in rust_offtopic
Pavel
тоесть, если б у тебя было 100 запросов в сеть и каждый ты бы начинал только после окончания предыдущего — была б жопа. Исправив такое на батч-запросы и распараллелив с обработкой в циклах на отдельных потоках я ускорил время синхронизации локальной базы с удалённой по JSON-RPC с 5+ минут до 3х секунд, на смартфоне по вайфаю, и с бесконечного времени до 15-30 сек по 3г+жопорезу. Цикл циклу рознь.
ну так тут так и происходит. И да, чинится оно таким образом что ты формируешь список сообщений и скопом их отправляешь (можно почанкать если боишься заддосить шлюз). очевидно? очевидно
источник

AZ

Alex Zhukovsky in rust_offtopic
Ну вот а любители дрочить фрейворки обычно про аткое не задумываются
источник

AZ

Alex Zhukovsky in rust_offtopic
все эти queryToDb().ToList().Where(x => ..) как я выше уже говорил тоже бесят
источник

P

Pavel in rust_offtopic
Alex Zhukovsky
Ну вот а любители дрочить фрейворки обычно про аткое не задумываются
любители дрочить фреймворки знают метод фреймворка, который это делает, а не пилят на коленке
источник