Size: a a a

2021 February 27

D

Dmitriy in pro.cxx
Побитый Кирпич
размер это тоже отчасти свечение
Участок кода критичен по производительности, а профайлера нет - вот и приходится рассуждать "на пальцах"😅
источник

AP

Antony Polukhin in pro.cxx
Dmitriy
Вопрос по повышению производительности Pimpl.
Помню, на одной из конференций @antoshkka показывал идею с конструированием объекта на aligned_storage_t в том же классе, где лежит Impl*
Насколько такое решение позволило повысить производительность на практике?
На практике получаем -1 динамическую аллокацию и чуть большую локальность данных.

Если объекты создаются часто или используются в критической секции - может быть целесобразно
источник

D

Dmitriy in pro.cxx
pimpl это про бинарную совместимость прежде всего. а потом уже всё остальное...
источник

АР

Андрей Руссков... in pro.cxx
Dmitriy
pimpl это про бинарную совместимость прежде всего. а потом уже всё остальное...
и код хедера чуть почище, в размен коду cpp-шника
источник

D

Dmitriy in pro.cxx
Antony Polukhin
На практике получаем -1 динамическую аллокацию и чуть большую локальность данных.

Если объекты создаются часто или используются в критической секции - может быть целесобразно
Благодарю!)
источник

AP

Alexander Potapov in pro.cxx
Dmitriy
Вопрос по повышению производительности Pimpl.
Помню, на одной из конференций @antoshkka показывал идею с конструированием объекта на aligned_storage_t в том же классе, где лежит Impl*
Насколько такое решение позволило повысить производительность на практике?
Очень раздражает, если размер объекта разный в зависимости от платформы, операционки или компилятора. Приходится ифать и все равно могут всплыть неприятные сюрпризы
источник

D

Dmitriy in pro.cxx
Alexander Potapov
Очень раздражает, если размер объекта разный в зависимости от платформы, операционки или компилятора. Приходится ифать и все равно могут всплыть неприятные сюрпризы
Набор платформ строго ограничен)
источник

АК

Александр Караев... in pro.cxx
Alexander Potapov
Очень раздражает, если размер объекта разный в зависимости от платформы, операционки или компилятора. Приходится ифать и все равно могут всплыть неприятные сюрпризы
Можно брать с запасом по верхней границе
источник
2021 February 28

ИС

Иван Срайчук... in pro.cxx
Может кто подскажет, как можно метаданные считать про файл?
источник

ИС

Иван Срайчук... in pro.cxx
В данных о файле есть поле XXA3, не могу найти как его считать можно
источник

DK

David Kravets in pro.cxx
Иван Срайчук
Может кто подскажет, как можно метаданные считать про файл?
Fstat
источник

ИС

Иван Срайчук... in pro.cxx
David Kravets
Fstat
На винде нужно, к сожалению
источник

AN

Alexander N in pro.cxx
Dmitriy
Вопрос по повышению производительности Pimpl.
Помню, на одной из конференций @antoshkka показывал идею с конструированием объекта на aligned_storage_t в том же классе, где лежит Impl*
Насколько такое решение позволило повысить производительность на практике?
А это точно не premature optimization?
источник

GF

Georgy Firsov in pro.cxx
Иван Срайчук
На винде нужно, к сожалению
источник

D

Dmitriy in pro.cxx
Alexander N
А это точно не premature optimization?
Это точно вопрос на данную тему))
источник

DS

Dmitry Sokolov in pro.cxx
Alex
а ничто так не затрудняет чтение, как непонимание, как вообще поток выполнения по этому коду ходит
Мне кажется тут как раз идея основная в том, что поток это так, ресурс, и не "поток ходит" а "выполняется задача", в некоторых точках (возможно) переезжая в другой поток.
источник

A

Alex in pro.cxx
Dmitry Sokolov
Мне кажется тут как раз идея основная в том, что поток это так, ресурс, и не "поток ходит" а "выполняется задача", в некоторых точках (возможно) переезжая в другой поток.
Это хорошо, если гладко работает в соответствии с ментальной моделью, но я не верю, что прямо никогда не нужно будет такой код отлаживать и распутывать спагетти.
источник

ПК

Побитый Кирпич... in pro.cxx
Alex
а ничто так не затрудняет чтение, как непонимание, как вообще поток выполнения по этому коду ходит
Это дело привычки всего лишь. Мне в своё время было трудно понимать код с boost.asio. Вот где настоящая лапша (прыжки туда сюда по коду). Но со временем приноровился.

Опять же, корутины такие есть в других языках (С#, питон), и люди их там спокойно юзают и не парятся.
источник

ПК

Побитый Кирпич... in pro.cxx
Alex
Это хорошо, если гладко работает в соответствии с ментальной моделью, но я не верю, что прямо никогда не нужно будет такой код отлаживать и распутывать спагетти.
Весь прикол в том, что это спагетти не сложнее того, что есть сейчас. Ты щас либо пишешь спагетти руками, либо через сахар (и компилятор спагетти-код прячет за ключевыми словами).
источник

ПК

Побитый Кирпич... in pro.cxx
У Антона Полухина на Хабре была вроде статья с примерами как было и как стало
источник