@ProCxx

Страница 990 из 2477
Matway
20.06.2017
22:13:56
Ну, идея такая же - берётся голова (или хвост), засовывается в одну структуру, плюс остаток кладётся туда же.

И так в цикле.

И сделать это плотно невозможно.

reagentoo
20.06.2017
22:15:00
а если char c[0]; засунуть — тоже неплотно будет?

Google
Vladislav
20.06.2017
22:15:37
Я бы посмотрел :)
Напишу, если будет свободное время :)

Matway
20.06.2017
22:16:03
Напишу, если будет свободное время :)
Круто! Потом обменяемся реализациями. Может, там разные идеи будут. Было бы зашибись.

Только чтобы полноценная замена std::tuple. Со всей функциональностью.

а если char c[0]; засунуть — тоже неплотно будет?
Не понял вопроса, если честно.

reagentoo
20.06.2017
22:17:28
Не понял вопроса, если честно.
я чессно не понял причин неплотности

имелось ввиду засунуть в тупл это как поле

Andrei
20.06.2017
22:19:09
Matway
20.06.2017
22:20:00
А что, proof of concept с get<uint> не пойдёт?
Ну, вообще-то подойдёт :) Зачем зря тратить время. А ты же видел мою реализацию, так что не участвуешь.

Andrei
20.06.2017
22:20:13
Вообще-то не видел.

Только слышал :)

Andrei
20.06.2017
22:21:34
А стдлиб чей? Какой версии?

Vladislav
20.06.2017
22:23:25
libc++

Google
Vladislav
20.06.2017
22:23:59
3.7

Matway
20.06.2017
22:24:01
Кстати, в шланге у меня и родной тупл 16 показывает
Попробуй развернуть. <double, char, char, char, char, char, char, char>. Возможно, там с головы элементы используются.

reagentoo
20.06.2017
22:25:52
так почему 64 показывает? как чинится?)

Vladislav
20.06.2017
22:26:41
ideone.com/l9vXtM

На rextester'е только у msvc проблемы с этим

Matway
20.06.2017
22:30:34
Круто. Видимо, свежак.

1>clang.exe : error : clang frontend command failed due to signal (use -v to see invocation) А вот мой variant Clang не осилил :( Упал компилятор.

Matway
20.06.2017
22:31:30
Ничего незаконного не делал.

3.8

http://ideone.com/g8EgfF Зачем они их развернули? :)

Vladislav
20.06.2017
22:44:35
http://ideone.com/g8EgfF Зачем они их развернули? :)
Не знаю) но он реализован как раз как я предполагал это делать - через вариадик множественное наследование

Matway
20.06.2017
22:45:26
Но вообще довольно круто, что такое сделали в стандартной библиотеке.

reagentoo
20.06.2017
22:54:29
Наследование в метапроганье - зло.

Ecklory
20.06.2017
22:56:03
Доброго времени суток, коллеги. Есть умеющие Jenkins?

Matway
20.06.2017
22:56:42
Vladislav
20.06.2017
22:57:19
Тоже так считаю.
А что поделать, если вариадик композицию не завезли?

Google
Matway
20.06.2017
22:57:49
Anatoly
20.06.2017
22:58:01
не понимаю, как фичу можно злом называть)

Vladislav
20.06.2017
22:58:07
Ну то есть завезли, туплы, но их надо сначала написать как-то)

reagentoo
20.06.2017
22:58:09
Покажите что за варианты то пилите

Matway
20.06.2017
23:00:39
Покажите что за варианты то пилите
Ща. Деструкторы, конструкторы, присваивание и геттеры сделал. Визитор пока не придумал.

reagentoo
20.06.2017
23:05:37
Ну это. Может в личку мне ссыль кините как готово будет.

Vladislav
20.06.2017
23:10:40
reagentoo
20.06.2017
23:11:10
Jonson

Anatoly
20.06.2017
23:11:44
я понял, друзья, я не понял что хочет человек от jenkinsa

Ecklory
20.06.2017
23:13:42
Да подождите, налетели %) Jenkins LTS (latest). При создании проекта выбираю «Freestyle Project -> Source Code Management -> Git» в Credentials -> Add -> Jenkins -> Kind -> Gitlab API Token -> Api Token - мой токен -> ID -> любые символы на латыне -> Description -> любой дескрипшен -> Add Смотрю обратно сredentials, а там пусто. Если добавить по юзеру/паролю - всё ок.

Berkus
20.06.2017
23:17:38
смотри gitlab плагин и чо они намудрили там

возможно его надо обновить или наоборот даунгрейднуть

Matway
20.06.2017
23:18:07
Доделал visitor. Заменяю std::variant и бенчмаркаю.

Berkus
20.06.2017
23:18:17
вероятнее всего к текущему чату этот вопрос относится вообще никак

а нафига женкинс для гитлаба если есть гитлаб си?
они наверное из гитлаба таскают какой-то сурс

Vladislav
20.06.2017
23:18:51
Это, видимо, довольно непросто делается.
Ну такое, да https://github.com/llvm-mirror/libcxx/blob/master/include/tuple

FailsBot
20.06.2017
23:24:52
http://en.cppreference.com/w/cpp/container/set/emplace

Google
FailsBot
20.06.2017
23:24:53
Search results for "variant" 1. std::variant 2. std::bad_variant_access

Matway
20.06.2017
23:48:24
Да. Сравнялось со switch. Причём стало одинаково CLang и MSVC.

Идея такая: http://ideone.com/bW852w

Ограничение очевидное - не более N альтернатив. Где N - количество строк, которое не поленились написать в Variant.

Arseny
21.06.2017
00:18:54
А лишние case-ы компилятор догадывается в default перенести?

Admin
ERROR: S client not available

Alexander
21.06.2017
02:41:58
Ещё одна история о том, что С++ нужно использовать с умом http://walac.github.io/java-faster-than-cpp/

Александр
21.06.2017
07:19:19
Ну вот, меня обманули. Стёр либу и сегфолт

кстати, кто-нибудь знает разумный способ динамической подгрузки либ, но с предварительной их расшифровкой?

прочитал, расшифровал, сдампил на диск, загрузил

... с диска слили расшифрованную

успеют слить за несколько микросекунд думаешь?

никсы ж файлы не держат как винда

то есть линукс позволит прогрузить в память, удалить исходный файл и всё будет ок? удивительно

да, линукс не запрещает удалять используемые файлы

можно хоть rm -rf / сделать

Group Butler [beta]
21.06.2017
07:19:19
Александр kicked for flood!

Дед Пегас
21.06.2017
07:19:53
Пишите в одном сообщении)

Александр
21.06.2017
07:20:06
Это цитата отсюда же

Google
Александр
21.06.2017
07:21:56
Ну вот, меня обманули. Стёр либу и сегфолт
Причем тестил и LD_PRELOAD, и dlopen

Antony
21.06.2017
07:22:00
Я пишу variant, который насильно будет делать switch.
Это делает Boost.Variant http://boost.org/libs/variant

Это делает Boost.Variant http://boost.org/libs/variant
А вообще надо заводить баги на подобное "Компиялтор генерирует неоптимальный код"

Беда с неоптимальной кодогенерацией на variant подобных классах тянется с 2000 годов. В boost это обошли насильно вставив switch вместо рекурсии. За 15 лет можно было бы починить уже проблему на уровне компилятора

Matway
21.06.2017
07:27:13
Это делает Boost.Variant http://boost.org/libs/variant
Привет. Вроде бы только для визитора. У меня большую часть времени съедали другие операции, где нет switch.

А вообще надо заводить баги на подобное "Компиялтор генерирует неоптимальный код"
На какой из компиляторов? CL или Clang? Оба плохо себя ведут.

Александр
21.06.2017
07:28:08
А как в бусте сделали switch с переменным числом аргументов? Препроцессор?

Matway
21.06.2017
07:30:53
А как в бусте сделали switch с переменным числом аргументов? Препроцессор?
Да. BOOST_PP_REPEAT( BOOST_VARIANT_VISITATION_UNROLLING_LIMIT , BOOST_VARIANT_AUX_APPLY_VISITOR_STEP_CASE , _ )

Дед Пегас
21.06.2017
07:32:12
Упорото.

Впрочем, пилил switch на шаблонах и генерировался такой же код, что и простой switch.

Berkus
21.06.2017
07:32:46
бустовато!

Matway
21.06.2017
07:35:20
Почему-то boost::variant ещё медленнее, чем std::variant.

Antony
21.06.2017
07:36:41
Почему-то boost::variant ещё медленнее, чем std::variant.
Оу. А в каком месте тормозит нашли? попробуйте собрать с NDEBUG

Matway
21.06.2017
07:38:34
Оу. А в каком месте тормозит нашли? попробуйте собрать с NDEBUG
Наибольшая нагрузка на variant::variant(variant&&), просто потому, что чаще всего вызывается. Разумеется, все сборки с максимальной оптимизацией и с NDEBUG.

Anatoly
21.06.2017
07:41:53
@MatwayBurkow если есть, можете расшарить синтетический тест?

Страница 990 из 2477