Size: a a a

2021 March 10

T

Tamer in pro.cxx
Серж
и зовет себя на реддите STL, чувак думает что он библиотека, занятный тип
Серьёзно?
источник

SB

Sanzhar Bidaibek in pro.cxx
это его инициалы
источник

D

Danya in pro.cxx
Ахахахха
источник

T

Tamer in pro.cxx
lol
источник

АК

Александр Караев... in pro.cxx
Серж
и зовет себя на реддите STL, чувак думает что он библиотека, занятный тип
Чтобы писать библиотеку, нужно думать, как библиотека. Нужно быть библиотекой
источник

T

Tamer in pro.cxx
а как же agile подход?
источник

S

Ssi in pro.cxx
Чувак думает, что он ткань, занятный тип
https://ru.wiktionary.org/wiki/%D1%81%D0%B5%D1%80%D0%B6
источник

S

Ssi in pro.cxx
простите :)
источник

S

ShadoWalkeR in pro.cxx
Весна же - обострения
источник

IZ

Ilia Zviagin in pro.cxx
Danya
Этот "китаец" главный разработчик реализации стдлибы в Майкрософте
+ , Плюс — очень  классный С++ разраб...
источник

S

SupaproBot in pro.cxx
Переслано от Виктор
Программа делает уйму insert в mysql.
В секунду в несколько десятков таблиц.

На входе в функцию пакет запросов, на каждую таблицу - один запрос с кучей строк.
Сейчас всё идёт последовательно запрос за запросом отправляет.
Но получается слишком медленно - данные скапливаются быстрее чем успеваю их добавлять в БД.

Хочу попробовать распараллелить процесс вставки, т.е. каждый insert в отдельный thread.
Я знаю что в таких случаях используют пул потоков, я пока не очень понимаю как его сделать, но вопрос не в этом.

Сейчас, чтобы просто потестить, как пойдёт, я хочу попробовать что-то типа такого:

    std::vector <std::thread> th_vec;
   for (int i = 0; i < 50; ++i)
   {
       th_vec.push_back (std::thread(f));
   }
   for (int i = 0; i < 50; ++i)
   {    
       th_vec.at (i).join ();
   }


Так делать вообще хорошая идея или не особо?
источник

T

Tamer in pro.cxx
SupaproBot
Переслано от Виктор
Программа делает уйму insert в mysql.
В секунду в несколько десятков таблиц.

На входе в функцию пакет запросов, на каждую таблицу - один запрос с кучей строк.
Сейчас всё идёт последовательно запрос за запросом отправляет.
Но получается слишком медленно - данные скапливаются быстрее чем успеваю их добавлять в БД.

Хочу попробовать распараллелить процесс вставки, т.е. каждый insert в отдельный thread.
Я знаю что в таких случаях используют пул потоков, я пока не очень понимаю как его сделать, но вопрос не в этом.

Сейчас, чтобы просто потестить, как пойдёт, я хочу попробовать что-то типа такого:

    std::vector <std::thread> th_vec;
   for (int i = 0; i < 50; ++i)
   {
       th_vec.push_back (std::thread(f));
   }
   for (int i = 0; i < 50; ++i)
   {    
       th_vec.at (i).join ();
   }


Так делать вообще хорошая идея или не особо?
При этом разделение данных при f используется или везде одна и таже вставка происходит?
источник

LK

Lev Khoroshansky in pro.cxx
SupaproBot
Переслано от Виктор
Программа делает уйму insert в mysql.
В секунду в несколько десятков таблиц.

На входе в функцию пакет запросов, на каждую таблицу - один запрос с кучей строк.
Сейчас всё идёт последовательно запрос за запросом отправляет.
Но получается слишком медленно - данные скапливаются быстрее чем успеваю их добавлять в БД.

Хочу попробовать распараллелить процесс вставки, т.е. каждый insert в отдельный thread.
Я знаю что в таких случаях используют пул потоков, я пока не очень понимаю как его сделать, но вопрос не в этом.

Сейчас, чтобы просто потестить, как пойдёт, я хочу попробовать что-то типа такого:

    std::vector <std::thread> th_vec;
   for (int i = 0; i < 50; ++i)
   {
       th_vec.push_back (std::thread(f));
   }
   for (int i = 0; i < 50; ++i)
   {    
       th_vec.at (i).join ();
   }


Так делать вообще хорошая идея или не особо?
Треды для такого не очень подходят, можешь посмотреть в сторону файберов
https://github.com/facebook/folly/tree/master/folly/fibers
источник

D

Danya in pro.cxx
Или корутины :)
источник

DF

Dollar Føølish in pro.cxx
+
источник

LK

Lev Khoroshansky in pro.cxx
Danya
Или корутины :)
Ну да, куда без них
источник

T

Tamer in pro.cxx
Просто если используется вставка данных, то можно заюзать что-нибудь типо pragma omp parallel, очень полезная вещь. Но хочется понять, что вообще делает f. http://ccfit.nsu.ru/arom/data/openmp.pdf
источник

LK

Lev Khoroshansky in pro.cxx
Tamer
Просто если используется вставка данных, то можно заюзать что-нибудь типо pragma omp parallel, очень полезная вещь. Но хочется понять, что вообще делает f. http://ccfit.nsu.ru/arom/data/openmp.pdf
Господи не надо, это артефакт древних
источник

T

Tamer in pro.cxx
Lev Khoroshansky
Господи не надо, это артефакт древних
Умелое использование даст плоды ;)
источник

D

Danya in pro.cxx
Это вообще про другое
источник