
Антон
25.08.2017
09:50:26
ок, новый вопрос
как запустить процесс отвязав его от текущего

Alexander
25.08.2017
09:51:33
Boost.Process

Google

Alexander
25.08.2017
09:52:02
либо же привязываться к os-specific ручками

Антон
25.08.2017
09:52:11

Ilia
25.08.2017
09:52:37
Короче, ТЕМА!

Антон
25.08.2017
09:52:58

Alexander
25.08.2017
09:53:09

Berkus
25.08.2017
09:54:23

Alexander
25.08.2017
09:54:58

Ilia
25.08.2017
09:55:19
Мне нужны VARIANT-ы на С++. Они же BOX-ы. Короче нужен тип, способный хранить внутри себя попеременно другие типы данных, типа как QT::QVariant.
Желательно отдельностоящий.
Давайте, кто знает какие решения. Про BOOSt знаю, там ДВА. Пока не катят. Ещё есть ?

Nik
25.08.2017
09:55:45

Berkus
25.08.2017
09:56:15

Владислав
25.08.2017
09:56:27
ответ в вопросе, классика

Alexander
25.08.2017
09:56:38
что-то мне подсказывает, что ему не катит ?
пусть скопирует из буста себе и всё

Google

Berkus
25.08.2017
09:57:13
он не сказал почему не катит
опять же я видел отдельнстоящий с++14 вариант довольно маленький однохедерный
но искать лень, гугл на что

Stanislav
25.08.2017
09:59:20

Ilia
25.08.2017
10:00:04
А откуда в STD variant ?

Stanislav
25.08.2017
10:00:27

Alexander
25.08.2017
10:01:04

Ilia
25.08.2017
10:01:05
а в туда как ?
Из буста ?

Alexander
25.08.2017
10:01:33
Из буста ?
да, с некоторыми изменениями подкапотными

Антон
25.08.2017
10:02:21
другой вопрос

Nik
25.08.2017
10:03:03

Ilia
25.08.2017
10:03:43
Ладно, спасибо, поизучаем.

Matwey
25.08.2017
10:04:38

Антон
25.08.2017
10:04:56
switch(fork()) {
case -1:
return sFALSE;
break;
case 0:
daemon(0, 0);
execlp("sh", "-c", s);
exit(0);
break;
default:
return sTRUE;
}
сойдет?

Alexander
25.08.2017
10:06:03
так форк же не отвязывает от родительского процесса
там какой-то финт ушами нужно сделать

Антон
25.08.2017
10:06:16
посмотри, там daemon есть

Alexander
25.08.2017
10:06:34
я в этом не силён ?

Google

Alex Фэils?︙
25.08.2017
10:20:14

Антон
25.08.2017
10:23:42

Berkus
25.08.2017
10:27:09

Antony
25.08.2017
10:29:26
да, с некоторыми изменениями подкапотными
Подкапотные в std::variant изменения весьма годные:
* никогда не аллоцирует динамически память под свои нужды
* constexpt очень много где, включая std::visit
* get(variant*) -> get_if(variant*) уменьшает путаницу и улучшает читаемость
* in_place конструирование

Ilia
25.08.2017
10:31:00

Nik
25.08.2017
10:31:30
Как-то покрасивее смотрится, чем std. С паттернматчингом, ням.
https://github.com/mapbox/variant этот?

Antony
25.08.2017
10:36:29
А чего именно хочется? Озвучьте конкретные требования

Alexander
25.08.2017
10:37:00

Alex Фэils?︙
25.08.2017
10:37:35

Anton
25.08.2017
10:39:47

Anton
25.08.2017
10:40:47
Или там используется наивный подход с malloc + placement new?

Ilia
25.08.2017
10:40:49

fox.cpp
25.08.2017
10:41:52
А не случаем malloc должен следить за фрагментацией памяти?

Alexander
25.08.2017
10:41:58

Berkus
25.08.2017
10:45:07
маллок не очень много может сделать в большинстве случаев

Anton
25.08.2017
11:04:27

Ioann V
25.08.2017
11:18:24

Google

Square
25.08.2017
11:21:31

Ioann V
25.08.2017
11:23:28

Square
25.08.2017
11:25:03
А Интел не открыт

Ioann V
25.08.2017
11:27:23
Я тут как то уже выкладывал резы своего аллокатора. Вроде быстрее всего что есть. Т.е буста, стл, и EAGames

Alexander
25.08.2017
11:28:07

Anton
25.08.2017
11:28:26

Square
25.08.2017
11:28:33

Admin
ERROR: S client not available

Square
25.08.2017
11:28:34
Вообще лучший аллокатор - который не выделяет :))

Ioann V
25.08.2017
11:30:08
Сам аллокатор я не выкладывал, но резы вввкладывал. Мне конечно не сложно выложить его, но это смогу позже - т к не у основного пеки сейчас, и вообще за телефоном. А небольшой бенч вот

Anton
25.08.2017
11:30:08

Ioann V
25.08.2017
11:30:31

Alexander
25.08.2017
11:31:53
Time Boost - это буст на бустовом аллокаторе?

Ioann V
25.08.2017
11:32:04
Да

Alexander
25.08.2017
11:32:13
ну норм, также как и твоё

Ioann V
25.08.2017
11:33:57
Первая строка построение, вторая строка поиск и проходы по памяти соответственно. Только надо вспомнить условия теста. Там было, что буст вообще отставал.

Alexander
25.08.2017
11:34:26

Google

Ioann V
25.08.2017
11:35:46
Там было так - буст аллокатор использовался в своем контейнере. И эти результаты наверху. Мой аллокатор я использовал в std set и они тоже на картинке. А вот когда буст аллокатор пмхаешь не в бустовый контейнер а в stl - то буст очень сильно отставал. Когда свой аллокатор вставлял в буст контейнер - было тоже самое что на картинке.

Alexander
25.08.2017
11:36:22
ну вот, значит буст не так плох

Ioann V
25.08.2017
11:37:16
Но третьи результаты на картинке показывают мой собственный set с моим же аллокатором ;)

Alexander
25.08.2017
11:37:51
так как более чем уверен, что он не соответствует полностью бустовому и стлному
ну или показывай код

Ioann V
25.08.2017
11:38:31
Еще отмечу что 64 бит апп работает медленнее 32, при тесте аллокатора. Это возможно связано как раз с кешем. Система у меня 64бита, десяточка.

Alexander
25.08.2017
11:39:00
погоняй какими-нибудь тулзами от Интел

Ioann V
25.08.2017
11:40:12
Да можно будет. Но сначала хочу проверить как файлег быстрее всего читать fread ом. Сразу весь или блоками под кеш hdd~(65kb)

Alexander
25.08.2017
11:41:04

Ioann V
25.08.2017
11:41:41
Ну тоже не спорю. Но интересно ж.

Matwey
25.08.2017
11:42:06

Диджитал
25.08.2017
11:44:42
зависит от ОС, но вообще аллокатор запрашивает у ОС большой кусок, а потом от него нарезает сам, и дефрагментирует тоже
каждый раз дергать ось было бы слишком дорого

Antony
25.08.2017
11:46:28

Alexander
25.08.2017
11:47:50

Дед Пегас
25.08.2017
11:48:21
Думаю, быстрей прочитать из оперативы.

Alexander
25.08.2017
11:49:00

Pavel
25.08.2017
11:49:42
есть ещё posix_fadvise и POSIX_FADV_SEQUENTIAL

Aleksei
25.08.2017
11:49:44
недавно где-то видел картинку в тему...
https://hsto.org/web/d61/005/8cf/d610058cf6094336ba3f4de1d1829f5a.jpg