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

Сегодня ради интереса потестил sqlx и gorm для своего проекта. Суть

проекта, парсер берёт данные с разных сайтов, нормализует их и отправляет в postgres.
Это 300 000 записей за 1 час.
Что хочу сказать, судя по логам, скорость выполнения с sqlx и gorm идентична. Парсер закончил работу за одинаковое время.

Теперь вопрос, при каких нагрузках мне нужно юзать sqlx?

15 ответов

16 просмотров

Там может основное время база съела. Интересней было бы через пруф.

Попробуйте ент.

Igor- Автор вопроса
Zver
Попробуйте ент.

Тебе за рекламу платят? 😂 Попробую )

Igor
Тебе за рекламу платят? 😂 Попробую )

Нет. 😔 Просто интересно, там все таки генерация. Хотя все равно большая часть времени это обращение к базе.

"Парсер закончил работу за одинаковое время" - и вас это удивило? В краулерах большую часть времени отъедают сетевые запросы к сайтам. Запись в базу в соотношении с ними по времени ничтожно мала. На такой задаче производительность ORM, квери-билдеров и т.п. сравнивать бессмысленно

Igor
вопрос был в другом...

Я исходил из фразы "Сегодня ради интереса потестил sqlx и gorm для своего проекта"

Igor- Автор вопроса
Dmitriy Sviridov
Я исходил из фразы "Сегодня ради интереса потестил...

Тем не менее, имея опыт, вы не дали ответ на главный вопрос 👍

А в чем сложность непосредственно это посчитать для своего проекта? Например, вместо реального скачивания страниц скачать 1 страницу, а потом сохранить её в базу разными способами 100 тысяч раз. И вот тут можно будет увидеть отличия

Igor
Тем не менее, имея опыт, вы не дали ответ на главн...

"Теперь вопрос, при каких нагрузках мне нужно юзать sqlx?" - вообще без разницы. По сравнению с временем выполнения любого запроса оверхед Горма над sqlx ничтожен просто. Тут вопрос вкуса и вопрос в желании/нежелании юзать много магии в проекте

Dmitriy Sviridov
"Теперь вопрос, при каких нагрузках мне нужно юзат...

"Любого запроса" - это довольно сильное утверждение. Зависит же от того, что запрос делает

Mikhail Efimov
"Любого запроса" - это довольно сильное утверждени...

Да даже выборка по первичному ключу будет занимать больше времени, чем разница в скорости между Gorm и sqlx

Igor
Спасибо за ответ!

Я Gorm не юзаю, потому что, например, мне не нравится всякая внезапная логика вида "если в таблице в БД есть поле с названием updated_at и ты делаешь update, то туда автоматом будет подставлена дата и время". Или что-то в том духе такое было. Мне не нравится такая неявная логика, по крайней мере, когда я использую Go, где, лично для меня, предсказуемость всегда на первом месте. Если нужна всякая магия, то нафиг го вообще брать?)

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

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

Какой-то там пердун в 90-х решил, что есть какая-то разная типизация. Кого вообще это волнует?
КТ315
49
void terminal_scroll() { memmove(terminal_buffer, terminal_buffer + VGA_WIDTH, buffer_size - VGA_WIDTH); memset(terminal_buffer + buffer_size - VGA_WIDTH, 0, VGA_WIDTH); ...
Егор
47
Всем привет! Подскажите, пожалуйста, в чем ошибка? Настраиваю подключение к MySQL. Либы лежат рядом с exe. Все как по "учебнику"
Евгений
16
А можете как-то проверить меня по знаниям по ассемблеру?
A A
132
Здравствуйте! У меня появилась возможность купить книгу "Изучай Haskell во имя добра!". Но я где-то слышал, что эта книга устарела. Насколько это правда??
E
22
Здравствуйте! Я вот на stepic решаю задачи на хаскеле https://stepik.org/lesson/8443/step/8?unit=1578 мой код import Data.List (isInfixOf) removing :: String -> [String] ->...
E
10
Камрады, кто тесно работал с vtv, хотел уточнить. Ширина column задаётся жёстко на этапе создания дерева или можно в рантайме ее менять программно (не мышкой)?
Ed Doc
10
да ладно ... что там неочевидного ? глянуть в исх-ки датасета и/или кверика чтобы понять в каком месте и как выполняется обращения к св-вам blablaSQL - минутное дело, даже е...
Сергей
7
Здесь для arm кто-нибудь кодит ?
Nothing
52
Всем привет, у меня есть сервер принимающий входящие HTTP подключения, как проверить, что подключение было через прокси или нет, есть какие то поля в заголовках по которым мо...
DS
8
Карта сайта