@ProCxx

Страница 1775 из 2477
Ostap
20.02.2018
21:18:20
https://cloud.docker.com/
Чёрт, как я мог забыть о докере *фейспалм* Спасибо)

Владислав
20.02.2018
22:34:10
Кто такой?

Stanislav
20.02.2018
22:35:43
Где можно хостить серверное приложение, написанное на С++?
на хероке можно попробовать, но собрать билдпак тот еще квест

Google
Pavel
20.02.2018
22:40:11
можно раскошелится на vps

цельных 200 рублей в месяц

Yaroslav
21.02.2018
06:12:54
Где можно хостить серверное приложение, написанное на С++?
Нк уверен, но вроде бы на Microsoft Azure? (Надеюсь правильно название написал)

Alexey
21.02.2018
06:16:57
Любой vps? Например, я для своих проектов завёл сервак на digitalocean за 5$/28 дней. Сборка\тесты - travis

Yaroslav
21.02.2018
06:19:42
У меня из-за лицухи VS Enterprice 2017 дали на год microsoft azure, но я его редко юзаю.

Enterprise*

Alexander
21.02.2018
06:20:07
Кто-нибудь работал с Boost.Multiprecision? Там довольно интересная штука - cpp_int_backend. Как Вы думаете, важно ли для длинной арифметики иметь ручку для настройки вида "если размер меньше чем X, аллоцируем на стеке. Если больше, то на кучу"?

Ostap
21.02.2018
06:26:15
Кто-нибудь работал с Boost.Multiprecision? Там довольно интересная штука - cpp_int_backend. Как Вы думаете, важно ли для длинной арифметики иметь ручку для настройки вида "если размер меньше чем X, аллоцируем на стеке. Если больше, то на кучу"?
Я работал, но этот вопрос не стоит рассматривать, если числа у тебе будут не больше 10^20 Я на проекте использовал для расчета токов/напряжений в электрических цепях

Antony
21.02.2018
07:12:26
Кто-нибудь работал с Boost.Multiprecision? Там довольно интересная штука - cpp_int_backend. Как Вы думаете, важно ли для длинной арифметики иметь ручку для настройки вида "если размер меньше чем X, аллоцируем на стеке. Если больше, то на кучу"?
У всех разное мнение о том, какой размер надо на стеке держать, а какой уже в куче. Особенно это мнение различается для серверных приложений и для embedded

Кажется что лучше выбирать ручками

Александр
21.02.2018
07:20:16
вопрос схожий - а есть какие-нибудь реализации контейнеров, которые позволяют хранить фиксированный объём на стеке? бывает, что нужен std::vector локально, а в кучу лезть не хочется

Google
Дед Пегас
21.02.2018
07:22:17
std::array?

Igor
21.02.2018
07:22:51
в бусте есть small_vector is a vector-like container optimized for the case when it contains few elements. It contains some preallocated elements in-place, which allows it to avoid the use of dynamic storage allocation when the actual number of elements is below that preallocated threshold. ... capacity can grow beyond the initial preallocated capacity.

Дед Пегас
21.02.2018
07:24:56
https://godbolt.org/g/KT4ixD

Александр
21.02.2018
07:26:37
std::array?
ну это не то

std::array<ComplexType, 5> мне конструкторы вызовет все, плюс надо где-то size хранить

Max
21.02.2018
07:27:16
ну это не то
Исходя из вопроса о фиксированном обьеме это как раз то

Max
21.02.2018
07:28:42
фиксированный capacity, динамический size.
Мне казалось, std::array только fixed size

Александр
21.02.2018
07:29:07
Мне казалось, std::array только fixed size
то, что я написал - мне нужно

Max
21.02.2018
07:29:27
Александр
21.02.2018
07:29:57
короче. мне нужен std::vector с аллокатором, который аллоцирует на стеке до N байт, иначе - в куче. и желательно аналогично для set, map и прочих контейнеров

Дед Пегас
21.02.2018
07:30:08
size() там компилтаймовый.

Есть max_size, который говорит о максимальной вместимости в зависисомсти от реализации.

Александр
21.02.2018
07:30:49
но так как это невозможно реализовать на аллокаторах со стандартными контейнерами, то нужны какие-то другие решения, типа boost::small_vector

Дед Пегас
21.02.2018
07:30:51
Т.е. ограничения конкретной реализации

Александр
21.02.2018
07:31:51
Есть max_size, который говорит о максимальной вместимости в зависисомсти от реализации.
перечитай мои сообщения, std::array здесь не в тему. у него capacity = size и он не может залезть в кучу при size > capacity (хотя бы из-за того, что size фиксированный)

Александр
21.02.2018
07:32:51
хорошо, не совсем корректно изначально написал, каюсь

Google
Александр
21.02.2018
07:38:49
поискал small_map/small_set - не нашёл

flat_map нашёл, но это вроде бы не то

Дед Пегас
21.02.2018
07:39:58
http://www.boost.org/doc/libs/1_60_0/doc/html/boost/container/small_vector.html

Александр
21.02.2018
07:40:32
да small_vector-то я нашёл

впрочем, есть подозрение, что map/set на небольших объемах будут тупо медленнее vector'а с линейным поиском по нему

Alexander
21.02.2018
07:43:04
У всех разное мнение о том, какой размер надо на стеке держать, а какой уже в куче. Особенно это мнение различается для серверных приложений и для embedded
Ну я тоже придерживаюсь такого мнения. Вот и думаю добавить такой параметр. Только не как в бусте (минимальный и максимальный размер на стеке), а просто максимальный

Antony
21.02.2018
07:44:07
Кто-нибудь работал с Boost.Multiprecision? Там довольно интересная штука - cpp_int_backend. Как Вы думаете, важно ли для длинной арифметики иметь ручку для настройки вида "если размер меньше чем X, аллоцируем на стеке. Если больше, то на кучу"?
Я еще раз подумал: на случай динамической аллокации класс должен хранить size, data, capacity. На 64 битной платформе это значит что можно хранить как минимум 2^128 без динамических аллокаций используя SSO. Возможно что дополнительные шаблонные параметры могут усложнить класс, не давая особых преимуществ в большинстве случаев

Ruslan
21.02.2018
07:46:13
Всем здравствуйте. Хочу обратиться с правильным вопросом сборки OpenCV под Win. Нужно собрать для компилятора GCC (у меня это порт MinGW64). Делаю по статье на хабре https://habrahabr.ru/post/318846/ . Как я понимаю, весь описанный процесс соберет релиз для производства 32битных проектов. Как мне сделать для 64 битных под Windows? Вариант скачать бинарники под винду не работает - они для MS VS. Спасибо

Antony
21.02.2018
07:47:01
Так если sso, то размер на стеке будет регулироваться имплементацией, а не пользователем
да, но там будет размер как минимум в два раза большей long long стоит ли заморачиваться?

Alexander
21.02.2018
07:47:55
А как тогда гарантировать, что там будет sso?

Могут и забить на это

В той же крипте числа пожирнее будут

Matway
21.02.2018
08:21:29
да, но там будет размер как минимум в два раза большей long long стоит ли заморачиваться?
Я делал такую штуку. Оно работает только в очень специфических условиях. Типа в 99.9% случаев в контейнере 0..4 элементов, и только изредка херак и мульон.

Google
Matway
21.02.2018
08:31:19
Я еще раз подумал: на случай динамической аллокации класс должен хранить size, data, capacity. На 64 битной платформе это значит что можно хранить как минимум 2^128 без динамических аллокаций используя SSO. Возможно что дополнительные шаблонные параметры могут усложнить класс, не давая особых преимуществ в большинстве случаев
Даже на 64-битной платформе никто не заставляет хранить 64-битные size и capacity. Часто ли нужно больше четырёх ярдов элементов? Я в паре 64-битных проектов полностью заменил контейнеры на 32-битные индексы и размеры, написав отдельно контейнер "большой байтовый кусок, если вдруг захотелось весь блюрей в память засунуть". Так вот, выигрыш по памяти и скорости был существенным.

Vsevolod
21.02.2018
08:33:02
нет, так нельзя

Vsevolod
21.02.2018
08:33:14
для размеров в платформе есть std::size_t, и баста

остальное от лукавого

Admin
ERROR: S client not available

Antony
21.02.2018
08:34:09
Жуть

Matway
21.02.2018
08:37:03
А можно в числовом эквиваленте «существенный» выразить? ;)
Запишу себе как-нибудь забацать статейку. На конкретной задаче (компилятор) там был выигрыш по памяти в десятки процентов (много-много маленьких векторов). Другое дело, что в 21 веке, когда люди даже на Питоне писать не брезгуют, для оптимизации контейнеров нужна сильная мотивация.

Есть распространённое заблуждение, что на 64-битной платформе 64-битные инты не дороже, чем 32-битные. Но это не так.

Kirill
21.02.2018
08:43:15
Всем привет. Снова дурацкий вопрос, не получается указать версию, с которой слинковать приложение. На ubuntu, сначала скомпилил Boost версии 1.60, потом поставил из пакетов 1.58... и при компиляции почему-то он линкуется с 1.60. Как правильно в cmake указать, что бы использовался 1.58?

Kirill
21.02.2018
08:48:21
спасибо)

Max
21.02.2018
08:54:15
Почему первый вариант метода get() работает, а второй дает ошибку компиляции? 1. https://ideone.com/OzKEtR 2. https://ideone.com/pHFIKP

Max
21.02.2018
08:56:30
Ilia
21.02.2018
09:01:02
а как ему его обеспечить?
Сделать конструктор public

Max
21.02.2018
09:01:23
Google
Radio
21.02.2018
09:02:42
всем привет

Max
21.02.2018
09:03:27
может потому, что ты возвращаешь ссылку на темпорари объект?
откуда там временный обьект? _instance живет как поле класса

Radio
21.02.2018
09:04:02
откуда там временный обьект? _instance живет как поле класса
инстанс да, а результат вызова функции get - нет

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

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

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

Max
21.02.2018
09:05:16
но я не запускал, и что там компилятор говорит не видел
Ну тогда сначала почитай, в чем вопрос был

Pavel
21.02.2018
09:05:43
куда вам столько синглтонов?

или это просто такое излюбленное упражнение по заталкиванию всё в шаблоны?

Radio
21.02.2018
09:06:02
Ну тогда сначала почитай, в чем вопрос был
Никто не гарантирует, что указатель, возвращенный через гет(), будет жить. Т.е. это ошибка, которую видно глядя на код

Radio
21.02.2018
09:06:34
Там разименовывается.
угу, разименовывается временно существующий указатель.

Ilia
21.02.2018
09:06:46
угу, разименовывается временно существующий указатель.
И что? Им инициализируется ссылка. Всё ок

Radio
21.02.2018
09:07:34
И что? Им инициализируется ссылка. Всё ок
есть линк на стандарт, гарантирующий такое поведение? я вот такого не помню

Max
21.02.2018
09:08:12
есть линк на стандарт, гарантирующий такое поведение? я вот такого не помню
Какое такое? Ты возвращаешь ссылку на существующий обьект, он НЕ временный. Почему она должна не работать?

Radio
21.02.2018
09:08:16
можно надеяться, что реализация компилятора будет достаточно умна, но если вдруг у тебя есть линк на стандарт — просто будет оч круто

Ilia
21.02.2018
09:08:20
Не понятно, что ты не понимаешь.

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