Size: a a a

2020 March 17

A

Alex in pro.cxx
повторюсь, что сравнения компиляторов нужно брать на phoronix, а не у Агнера Фога на страничке без единого числа или графика
источник

O

Ofee in pro.cxx
Мой вопрос из супа. Если кратко, у нас в std::filesystem есть возможность посмотреть разрешения для группы/владельца/всех, но это на самом деле не даёт полезной информации, если мы не знаем, к кому из них относится текущий пользователь.  

Хотелось бы функцию, которая либо отвечает на вопрос, кем является текущий пользователь, либо функцию, возвращающую разрешения непосредственно для текущего пользователя. Ограничений, по которым бы компилятор мог вообще имплементировать filesystem, но не мог бы реализовать желаемый мной функционал, я вообще не вижу.

Нет ли такого пропозала уже?
источник

АР

Андрей Руссков in pro.cxx
Flex Ferrum
Если мне не изменяет память (относительно давно уже было), в той msvc stl, которую я юзал тогда, букеты в хэш-мапе реализовывались на обычных списках (std::list). Соответственно, любые манипуляции по добавлению/удалению дёргали аллокации. То есть вроде оно всё правильно (то есть ничему не противоречит), но... :) Но могу и ошибаться - надо детально профилировщиками смотреть, ага.
так вроде во всех реализациях так, из-за кучи требований к ассимптотике операций
источник

АР

Андрей Руссков in pro.cxx
Ioann_V
566 < 579
да и 572 тоже меньше 579. Студия обошла кленг только, да и тот с стдлибой не по умолчанию
источник

FF

Flex Ferrum in pro.cxx
Андрей Руссков
так вроде во всех реализациях так, из-за кучи требований к ассимптотике операций
Возможно. Я глубоко не копался в устройстве и перформансе gcc-шных хэш-мэпов. Поэтому и говорю только за MSVC.
источник

I

Ioann_V in pro.cxx
Андрей Руссков
да и 572 тоже меньше 579. Студия обошла кленг только, да и тот с стдлибой не по умолчанию
Да тут некоторые, вообще Агнера Фога(он тоже похоронил мсвц) балаболом называют, так что, спор ни о чем. Но на моих тестах, шланг тоже был гуд, а мсвц шла лесом.
источник

A

Alex in pro.cxx
Андрей Руссков
да и 572 тоже меньше 579. Студия обошла кленг только, да и тот с стдлибой не по умолчанию
сравнивать реализации стдлиб и делать выводы о компиляторах некорректно. А вот если посмотреть все 5 или около того последующих тестов, где стдлиб постепенно выпиливался, msvc - #1 абсолютно в каждом тесте. Кое-где с большим отрывом.
источник

АР

Андрей Руссков in pro.cxx
я не помню кейса в своей практике чтобы мсвц делал лучше код
источник

VO

Vyacheslav Olkhovchenkov in pro.cxx
Ofee
Мой вопрос из супа. Если кратко, у нас в std::filesystem есть возможность посмотреть разрешения для группы/владельца/всех, но это на самом деле не даёт полезной информации, если мы не знаем, к кому из них относится текущий пользователь.  

Хотелось бы функцию, которая либо отвечает на вопрос, кем является текущий пользователь, либо функцию, возвращающую разрешения непосредственно для текущего пользователя. Ограничений, по которым бы компилятор мог вообще имплементировать filesystem, но не мог бы реализовать желаемый мной функционал, я вообще не вижу.

Нет ли такого пропозала уже?
т.е. посикс тебя не устраивает?
источник

АР

Андрей Руссков in pro.cxx
хотя я конечно далеко не все бенчил
источник

O

Ofee in pro.cxx
Vyacheslav Olkhovchenkov
т.е. посикс тебя не устраивает?
Вот только в C++ для работы с fs реализовано очень маленькое подмножество POSIX по очевидным причинам. И в этом подмножестве нет той самой полезной информации о том, кто вообще текущий пользователь по отношению к файлу
источник

VO

Vyacheslav Olkhovchenkov in pro.cxx
чего? в c++ забанили libc? или тебе надо обязательно объектно-темплейтную обертку над тривиальной функцией?
источник

CD

Constantine Drozdov in pro.cxx
Ioann_V
Да тут некоторые, вообще Агнера Фога(он тоже похоронил мсвц) балаболом называют, так что, спор ни о чем. Но на моих тестах, шланг тоже был гуд, а мсвц шла лесом.
Мсвц действительно медленный код даёт, это не повод ее хоронить. Я полагаю, что у них все ещё не дошли руки до именно кодогенерации, они скорее всего поддержку фичек приоритетят
источник

I

Ioann_V in pro.cxx
Ну, я образно - я и сам МСВЦ использую.
источник

АР

Андрей Руссков in pro.cxx
Alex
сравнивать реализации стдлиб и делать выводы о компиляторах некорректно. А вот если посмотреть все 5 или около того последующих тестов, где стдлиб постепенно выпиливался, msvc - #1 абсолютно в каждом тесте. Кое-где с большим отрывом.
там надо смотреть в чем вообще разница
источник

АР

Андрей Руссков in pro.cxx
автор вполне мог оптимизировать под msvc а замерять под другие компиляторы
источник

CD

Constantine Drozdov in pro.cxx
Ioann_V
Ну, я образно - я и сам МСВЦ использую.
Ну что без стрикт алиасинга нет быстрого кода и так понятно
источник

A

Alex in pro.cxx
Андрей Руссков
автор вполне мог оптимизировать под msvc а замерять под другие компиляторы
а как оптимизировать под msvc?
источник

АР

Андрей Руссков in pro.cxx
пишешь код, компилируешь под msvc, замеряешь, пытаешься улучшить, цикл. Потом когда оптимизировал под msvc замерил еще под двумя компиляторами
источник

I

Ioann_V in pro.cxx
Alex
а как оптимизировать под msvc?
смотреть asm?
источник