Egor
Alexander
просто байты не шлем, не пробовали
Yury
попробуйте
Egor
Тогда можно будет понять, поможет ли "мгновенная" сериализация или на самом деле беда в другом месте
Egor
При этом, конечно, не стоит писать код заново, а достаточно просто заменить функции (де)сериализации на функции, возвращающие какие-то конкретные константы. Тогда вся "обвязка" вокруг останется прежней
Yury
может socket flush какой не делаете
Egor
Если после замены (де)сериализации на возврат констант станет работать вместо 70мс, скажем, две, то можно думать. Если станет работать 65, то лучше подумать про что-нибудь другое
Egor
Возможно это вообще не в коде дело, а, скажем, ОС на этом девайсе переключает потоки раз в 70мс и не чаще.
Alexander
ок, понял, спс
Aidar
Aidar
просто метамагией можно
Александр
Александр
нужно вручную дописывать новое значение в enum, дописывать template <> struct ololo<enum::new_value> { using signature = ... }:
Aidar
в крайнем случае max можно в enum class упихать
Александр
Александр
пройдись по ним циклом и выведи для каждого заданную сигнатуру/вызови шаблонную функцию с T = сигнатуре
Aidar
я не говорил что сигнатуру можно както определить
Александр
я понимаю, с учетом заданной сигнатуры
Aidar
ты можешь определить существует ли callback_id_to_signature_mapping<V>::type
Александр
ага, мысль понял. то есть мы заставим компилятор проверять наличие инстанцированных шаблонов для всех значений из [std::numeric_limits<std::underlying_type_t<Enum>>::min(), std::numeric_limits<std::underlying_type_t<Enum>>::max()]?
Aidar
да, но можно упихать их прям в енумкласс
Aidar
Aidar
в здравом уме
Александр
ну это понятно..
Aidar
чтобы компилилось быстрее
Александр
если запихать туда MIN, MAX, то идея хорошая
Александр
но ведь мы рассчитываем на дураков
Aidar
поидее можно сделать статический регистратор колбеков ваще
Yury
Если известны сигнатуры, чем плохи boost/signals?
Andrei
у кого-нибудь есть эта книга, перевод стандарта?
http://www.ozon.ru/context/detail/id/138724118/
Можете что-нибудь о ней сказать?
Alexander "SonnySlave"
Alexander "SonnySlave"
Andrei
Посмотрел, что стандарт в оригинале почти 200$. а этот первый переведенный, но неполный. А вот насколько неполный, не могу понять, Насколько хорошо переведен - тоже не могу понять
Alexander "SonnySlave"
Alexander "SonnySlave"
даже смайлики есть 😊
Andrei
Ради колллекции, конечно. Небольшую библиотеку собираю технической литературы (и не толкьо). Стараюсь фундаментальные вещи брать, но вот стандарт с++ - тоже хороший экземпляр)
Andrei
Окей, спасибо!
Alexander "SonnySlave"
Alexander "SonnySlave"
это всего лишь часть 😞
Aidar
Andrei
Dr. Friedrich
Там только собранных PDF'ок не дают, так ведь?
Dr. Friedrich
Хотя не, я запутался. Репозиторий называется draft: https://github.com/cplusplus/draft
Alexander "SonnySlave"
Alexander "SonnySlave"
http://eel.is/c++draft/
Alexander "SonnySlave"
только это драфт
Aidar
14-е вроде слиты в торенты
Дмитрий ⬡
Так черновики рабочая группа выкладывает
Дмитрий ⬡
Их читать можно)
Shadrunov
Привет! Немного оффтопа, извиняюсь, если что. Посоветуйте ide\редактор для убунты, чтобы было удобно рефакторить код.
Alexander "SonnySlave"
Shadrunov
Berkus
Oleg
Утверждение про потоки в линуксе в целом верное, но в данном случае бесполезное. Общая память как раз позволяет (при правильном подходе в большинстве случаев) не делать системные вызовы для их взаимодействия, чего как раз и не хочет делать @hombit.
Dr. Friedrich
А между процессами разве нельзя память пошарить?
Andrei
Dr. Friedrich
Dr. Friedrich
Dr. Friedrich
Вот тут пишут, что оверхед практически нулевой: https://stackoverflow.com/a/14512554/2684760
Dr. Friedrich
Хех, название у функции забавное: shmat()
Viktor
Dr. Friedrich
shared memory attach
Наверняка же сначала придумали сокращение, и только потом расшифровку. Как недавний FUCKWIT, к примеру.
Viktor
Это вообще из posix вроде
Dr. Friedrich
POSIX тоже могли весёлые люди придумывать!
Klaus
Когда-то линкер учитывал только первые пять букв названия функции...
Viktor
Хех
Aidar
Aidar
Потенциально
Alexander "SonnySlave"
Потенциально
да не потенциально. Просто если мы говорим про C++, то для взаимодействия потоков у нас в поставке есть средства
если про IPC - то таких средств нет. Добро пожаловать в какой-нибудь Boost.Interprocess
Berkus