184 похожих чатов

Привет. Has() в среднем должен быть быстрее чем arraySum() ? По тестам

получается наоборот: https://pastebin.com/kzZny7JY
не на много, но все-таки

9 ответов

8 просмотров

вы уверены что это не просто девиация по ИО? сделайте max_threads=1

Maxim-İanoglo Автор вопроса
【D】【J】
вы уверены что это не просто девиация по ИО? сдела...

Выставил max_threads = 1. Тот же результат. Почему-то, когда время скорость чтения с диска равно между запросами, то и время работы запроса тоже почти равно, хотя "интуитивно" has() должен быть быстрее. Ну и почему-то с диска данные читаются быстрее когда используется arraySum() чем когда has(). В https://pastebin.com/ZCVvCW5C несколько результатов запросов.

Maxim İanoglo
Выставил max_threads = 1. Тот же результат. Почему...

во время запуска СПУ одинаково нагружен? судя по разницам у вас прыгает ИО а в целом все одинаково примерно. можете проверить через time clickhouse-client -q "query" есть ли разница в СПУ time. по сути has сделает то же что у вас в аррайсум (сравнение), разницы быть особо и не должно.

Maxim-İanoglo Автор вопроса
【D】【J】
во время запуска СПУ одинаково нагружен? судя по ...

Машина чистая. Только для теста. И arraySum же весь массив должен будет проверить, а has на первом же равном эллементе должен остановиться. Или нет ?

Maxim İanoglo
Машина чистая. Только для теста. И arraySum же ве...

нет, там все сложнее думаю =) simd все дела...

Maxim İanoglo
Машина чистая. Только для теста. И arraySum же ве...

ну и для аррайСум могут быть инструкции какие то, arraySumIf реально может быть быстрее. проверьте на очень длинных массивах

Maxim-İanoglo Автор вопроса
【D】【J】
ну и для аррайСум могут быть инструкции какие то, ...

С значительно удлиненным массива буду пробовать, спасибо. arraySumIf не вижу такой функции. Да и -If вроде к аггрегаторам можно только прикрепить

Maxim İanoglo
С значительно удлиненным массива буду пробовать, с...

да, упростил описание. имелось ввиду arraySum(If(xxx))

Maxim İanoglo
С значительно удлиненным массива буду пробовать, с...

короче лучше тестировать через time - там покажет CPU time. т.е. может быть у вас latency на диске большой ещё 100500 причин

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта