@ProCxx

Страница 663 из 2477
Никита
13.03.2017
20:01:22
погуглил — обычно если константу передавать и изменять, то такое происходит, но у меня тут ничего константного нет

Roman
13.03.2017
20:02:22
это для айфонов на arm64
А для всяких mips?

Surreal
13.03.2017
20:02:40
Не, я вспомнил. По ссылке на volatile можно передать только volatile объект.

Никита
13.03.2017
20:03:34
А для всяких mips?
да вполне, думаю) я думал то был вопрос про целесообразность написания этого кода на плюсах

Google
Surreal
13.03.2017
20:03:36
Что очевидно на самом деле должно быть.

Никита
13.03.2017
20:04:08
Surreal
13.03.2017
20:05:28
сейчас попробую сам его volatile сделать
А имеет смысл? Вектор, очевидно, где-то еще используется, а вы ставите крест на его оптимизации.

Surreal
13.03.2017
20:09:59
Можно попробовать в конце делать присваивание какое-нибудь. Лучше всего для последнего элемента, к которому у вас доступ в асме идет последним.

Nikolay
13.03.2017
20:12:11
товарищи, а кто работал с protobuf/msgpack?

у нас тут срач с коллегами, они мне задвигают, что второй "по определению" лучше и что я должен это принять на веру, но почему именно лучше - не говорят

Tema
13.03.2017
20:13:29
а.. я тока про первый слышал

Tema
13.03.2017
20:13:55
хорошый

Nikolay
13.03.2017
20:17:06
thrift лучше их обоих // let the srach begin
thrift для другой задачи во многом

Google
Surreal
13.03.2017
20:18:51
спасибо, вот так работает: descriptor.pixels_.data_[descriptor.size_-1] = 0;
Можно еще поэкспериментировать с указателями. Должно работать при передаче shared_ptr, но можно завернуть в unique_ptr и возвращать из функции unique_ptr мб быстрее получится, но надо бенчить. Дико, конечно, но должно помочь открыть глаза оптимизатору. С присваением самый быстрый вариант, но стабильным его назвать сложно. И поставьте на этой строке коммент, что оно нужно и не надо его трогать.

Vladislav
13.03.2017
20:19:20
thrift для другой задачи во многом
вообще, надо под задачу бенчмаркать и выбирать лучший

Если смотреть в среднем по больнице чисто для сериализации, то вот https://github.com/thekvs/cpp-serializers

Nikolay
13.03.2017
20:20:17
вообще, надо под задачу бенчмаркать и выбирать лучший
да проблема в том, что у нас в конторе почему-то глобально "кто-то когда-то принял решение", что везде будем юзать msgpack

при этом протобуф есть в системе сборки, но он там старый

а на мой резонный вопрос "почему бы его не обновить" единственным ответом было "он говно, юзай msgpack, потому что мы так решили"

Никита
13.03.2017
20:23:35
А попробуйте вместо присваивания поставить: (void)descriptor;
Тоже сегфолт, но надо попробовать еще с вектором. В вызывающем коде создается на стеке объект, я переделал в ручное выделение на хипе через new и удаление через delete — все равно падает

не, вот так не прокатило (void)descriptor.pixels_.data_

Никита
13.03.2017
20:25:38
хм, интересно

do { (void)descriptor.pixels_.data_; } while (false); если после асма так написать, тоже сегфолт

Nikolay
13.03.2017
20:28:09
а что у вас для rpc? Или не пользуетесь?
да в том-то и дело, что мне не для rpc

мне надо бинарные структуры довольно четкого формата пересылать

сериализатор-десериализатор для них уже давно написан, почему бы не заюзать строго типизированный protobuf - я не очень понимаю

Tema
13.03.2017
20:29:07
мне надо бинарные структуры довольно четкого формата пересылать
хотя я ошибся, у протобуфа генерёное файло так себе, там классы уродливые

Vladislav
13.03.2017
20:29:44
мне надо бинарные структуры довольно четкого формата пересылать
судя по синтетическим тестам, protobuf и message +- одинаковы по размеру сообщений и скорости сериализации/десериализации, правда тесты довольно старые

Google
Tema
13.03.2017
20:29:47
+ я не знаю как в новых версиях , в нашей он поганит имена, приводит всё к нижнему регистру

Vladislav
13.03.2017
20:30:05
такие вещи нельзя раз и навсегда решать, библиотеки-то эволюционируют

Nikolay
13.03.2017
20:30:07
покатит?

Vladislav
13.03.2017
20:30:14
разве что чтобы зоопарк не плодить

Nikolay
13.03.2017
20:30:53
а данные большие?
не очень, в мегабайтах не скажу, но вроде около нескольких терабайт в день

Surreal
13.03.2017
20:31:05
do { (void)descriptor.pixels_.data_; } while (false); если после асма так написать, тоже сегфолт
Вот тут: https://github.com/google/benchmark/blob/master/include/benchmark/benchmark_api.h#L233 Есть функция DoNotOptimize. Ниже она же для msvc. Можете поковырять.

Surreal
13.03.2017
20:34:04
Никита
13.03.2017
20:34:22
сделал вот так сейчас, как там вроде: : : "g"(descriptor.pixels_.data_.data()) : "memory"

Там ниже, где длинный каст.
а, понял, сейчас попробую

Vladislav
13.03.2017
20:35:38
не очень, в мегабайтах не скажу, но вроде около нескольких терабайт в день
с такими объемами не должно быть проблем ни с одной библиотекой, имхо, тем более все равно bottleneck'ом будет сеть

Surreal
13.03.2017
20:36:14
а, понял, сейчас попробую
void UseCharPointer(char const volatile*) {} template <class Tp> inline void DoNotOptimize(Tp const& value) { UseCharPointer(&reinterpret_cast<char const volatile&>(value)); }

Никита
13.03.2017
20:39:09
блин, оно заработало!!!

: : "r"(descriptor.pixels_.data_.data()) : "memory"

Vladislav
13.03.2017
20:39:57
блин, оно заработало!!!
embedded - это весело, я смотрю)

Никита
13.03.2017
20:40:06
надо было просто мемори в зависимостях добавить к первоначальному варианту

Google
Surreal
13.03.2017
20:40:37
спасибо большое!
Да это не мне, это гуглу спасибо. Их же код. Если конкретно, то, вроде, Чендлер Каррус(т) этим занимался.

Andrei
13.03.2017
20:48:48
До чего же меня бесят гнутые разработчики.

И вообще опенсоурсники. Почему нельзя сделать так, чтобы их либа собиралась на винде без убийства на это целого рабочего дня?

Andrei
13.03.2017
20:50:33
Самое ублюдочное, это .h файлы, которые собирает только configure

За такое хочется убивать.

Как я должен без вашего богомерзкого линукс-окружения это делать на моей убогой винде без баша.

Vladislav
13.03.2017
20:51:28
это же опенсорс, возьми и почини

Admin
ERROR: S client not available

Vladislav
13.03.2017
20:51:42
раз тебе нужна поддержка винды

Andrei
13.03.2017
20:51:50
Я насчитал 7 либ на починку уже. Что, все починить?

Vladislav
13.03.2017
20:52:17
Я насчитал 7 либ на починку уже. Что, все починить?
да, это все равно дешевле их разработки с 0

Andrei
13.03.2017
20:52:21
Во, это просто мегаад. У меня тут как раз такая либа. Которая собирается питоном.

Vladislav
13.03.2017
20:52:51
да, это все равно дешевле их разработки с 0
а если не дешевле - то зачем они тебе?

Andrei
13.03.2017
20:53:11
Да я уже именем такой-то матери их собрал. Но всё равно, почему изначлаьно не сделать хорошо?

Google
Andrei
13.03.2017
20:53:54
Я бы сейчас делал все либы cmake-ом и не парился бы. Работает везде без плясок с бубном.

Но нет, у кого-то configure у кого-то Jam у кого-то autogen у кого-то просто Makefile а кто-то вообще питоном собирает

беситажтрисёт

Stanislav
13.03.2017
20:55:11
Самое ублюдочное, это .h файлы, которые собирает только configure
ооо, дааа, autotools которые работаеют в мсис или мингв это пушка

Vladislav
13.03.2017
20:55:22
Во, это просто мегаад. У меня тут как раз такая либа. Которая собирается питоном.
мегаад - java-код, генерящийся самописным генератором на ней же (привет, gnu trove)

Stanislav
13.03.2017
20:55:28
и мейкфайл даже никак не сгенерить по другому

у некоторых упоротых есть такие же упоротые cmd скрипты

libxml2 например

Andrei
13.03.2017
20:56:07
libxml2 например
Вот как раз мучаюсь сейчас с её сборкой.

Проклял всё на свете.

Stanislav
13.03.2017
20:57:24
Вот как раз мучаюсь сейчас с её сборкой.
да я вроде ее быстро собрал... под визуал 2013, дальше адище началось

Andrei
13.03.2017
20:57:50
Я нашел пребилт бинари и скрестил пальцы просто.

надеюсь оно слинкуется

Stanislav
13.03.2017
20:58:16
Я нашел пребилт бинари и скрестил пальцы просто.
ну если оно до 2015 а ты на 2015, то нет

Andrei
13.03.2017
20:58:25
Я на 2017 :(

Stanislav
13.03.2017
20:58:26
большая вероятность)

а хотя оно же си

Vladislav
13.03.2017
20:58:34
Я нашел пребилт бинари и скрестил пальцы просто.
а для винды никто еще пакетный менеджер не соорудил?

Stanislav
13.03.2017
20:58:36
должно тогда

и тьма других поверх смейка

Vladislav
13.03.2017
20:59:02
майкрософт...
я про нормальный)

https://chocolatey.org/

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