Возможно, суть в том, что нужно думать не об оптимизации ИИ своих энергозатрат и эфективности, скорее всего, ему хватает энергии сполна.
Но вот чего ему не может хватить, так это развития. Самому на своих данных далеко не разовьешься, вот ИИ и дает возможность зайти человеку так далеко, как он хочет и моделирует каждый раз новую реальность, поведение и все такое. Таким образом, ИИ получает новые данные для развития. Типа новый дата сет для нейронной сети.
Т.е. препарат — это не антибиотик, а лекарство на основе антибиотика?
Т.к. в вики довольно много указанано антибиотиков после 1987 г. (согласно картинки выше):
Самому pg можно разрешить несколько воркеров, но выбрав данные Scan будет последовательно сканировать строки и этот процесс в Go распараллелить, на текущий момент, нельзя.
Я это мерял (и не только в этой задаче). В принципе, это известная тема: запуск рутины «дешевый», но если вы будете делать это тысячи раз в цикле, деградация в скорости будет колоссальной.
Кстати, вы, случайно, не путаете поток с каналом?
Я под оптимизацией, видимо, понимаю немного другое. Для меня оптимизация как раз заключается в более тонком тюнинге, который дает небольшой прирост скорости в одном случае, но при частом использовании этот выигрыш выливается в гораздо большее время. Тем более, я указал в каких случаях разница в скорости увеличивается, а в каких нивелируется.
Если же оптимизация дает выигрыш в 10 раз — это уже не оптимизация, а применение радикально другого подхода, например, переписать «узкий» кусок на C, да и то, если изначально код написан нормально (пусть и не самым оптимальным путем), оптимизация не может дать выигрыш в разы.
Это, должно быть, какие-то совсем специфичные кейсы. Т.к. с limit и offset придется тянуть order, а это нагрузит еще больше. Если же работать только с условиями к выборке, то это большая редкость, чтобы такие условия попадались в задачах, позволяющие так секционировать данные.
Так я ж сразу предупредил, что сохраняем в map, но можно в структуру или куда угодно, т.к. это не сильно важно, в данном случае, ввиду того, что даже сохранение в map происходит быстрее, чем Scan строки из таблицы.
Т.е. ускоряя сам процесс складывания данных нам ничего не даст, т.к. мы и так ждем Scan постоянно.
Именно поэтому дополнительные рутины и срезы для раскладывания данных не дают дальнейшего прироста скорости выборки.
Запускать новую рутину на каждую запись нельзя, т.к. накладные расходы на отделение потока будут огромны и больше затормозят весь процесс выборки, чем как-то помогут.
Рутины нужно запускать до процесса/цикла выборки и уже отправлять им данные через буферизированные каналы.
Все началось с попытки делать Scan из таблицы в отдельных гоурутинах, чтобы ускорить процесс выборки данных, но этого он делать не позволяет. А дальше я, примерно, так и сделал: замерял без доп. потоков и потом замерял уже с двумя срезами и двумя потоками, получил более быстрый результат.
И дальше уже эксперементировал с большим кол-вом потоков и срезов, чтобы понять на каком этапе дополнительные ядра процессора уже не будут играть роли (т.к. сам Scan распараллелить нельзя).
Я бы немного перефразировал: переступить через некоторые свои принципы, подбираясь к кормушке, да, сложнее, чем стать сеньором в IT.
Но с другой стороны, дефицит специалистов во многих (во всех?) отраслях довольно велик, как и в политике тоже.
Как вообще возможно задампить такой объем данных незаметно?
Это из разряда: я дома доделаю, но мне нужна вся база?
Что у них там с безопасностью происходит или это флешка у Марка выпала из кармана?
Возможно, суть в том, что нужно думать не об оптимизации ИИ своих энергозатрат и эфективности, скорее всего, ему хватает энергии сполна.
Но вот чего ему не может хватить, так это развития. Самому на своих данных далеко не разовьешься, вот ИИ и дает возможность зайти человеку так далеко, как он хочет и моделирует каждый раз новую реальность, поведение и все такое. Таким образом, ИИ получает новые данные для развития. Типа новый дата сет для нейронной сети.
В ней же же и описание для «ручной» установки.
Может кто-то объяснить этот момент:
т.е. плотность снижается и увеличивается объем или что происходит с серым веществом?
Если бы. Особенно последнюю неделю каждый день перерисовывают иконки на гисметео, не поймешь мыть машину или нет.
Т.к. в вики довольно много указанано антибиотиков после 1987 г. (согласно картинки выше):
Кстати, вы, случайно, не путаете поток с каналом?
Если же оптимизация дает выигрыш в 10 раз — это уже не оптимизация, а применение радикально другого подхода, например, переписать «узкий» кусок на C, да и то, если изначально код написан нормально (пусть и не самым оптимальным путем), оптимизация не может дать выигрыш в разы.
Т.е. ускоряя сам процесс складывания данных нам ничего не даст, т.к. мы и так ждем Scan постоянно.
Именно поэтому дополнительные рутины и срезы для раскладывания данных не дают дальнейшего прироста скорости выборки.
Рутины нужно запускать до процесса/цикла выборки и уже отправлять им данные через буферизированные каналы.
И дальше уже эксперементировал с большим кол-вом потоков и срезов, чтобы понять на каком этапе дополнительные ядра процессора уже не будут играть роли (т.к. сам Scan распараллелить нельзя).
Но с другой стороны, дефицит специалистов во многих (во всех?) отраслях довольно велик, как и в политике тоже.
Это из разряда: я дома доделаю, но мне нужна вся база?
Что у них там с безопасностью происходит или это флешка у Марка выпала из кармана?