Open tiagomacarios opened 1 week ago
@tiagomacarios Thank you for reporting this issue.
After a brief look into libcxx's std::span
, it looks like they call "special" iterators when Safe Buffers are enabled - these seem to make std::span
analogous to gsl::span
, but the bounds checking gets optimized away with -O2
. I will start a discussion with clang folks to determine their thoughts on the matter and see if there is a protocol that gsl::span
can use.
In the meantime, could you share what version of clang you are using?
We use 3 different version of clang:
We usually update compilers as soon as new LTS versions are available.
From the mail thread I see that this has been fixed. Would you be against having performance tests? I wonder if we could use @galenelias tests and have the perf tests fail if they are not within a threshold from each other.
From the mail thread I see that this has been fixed. Would you be against having performance tests? I wonder if we could use @galenelias tests and have the perf tests fail if they are not within a threshold from each other.
Performance tests would be great. I'd be happy to either review a PR with Galen's benchmark or I can create the PR if that is more convenient. I'd rather not add a new dimension to the test matrix because we are already pushing 100 runners per PR commit. If we could add one test that compares to the latest standard library implementation for each Clang, GCC, and MSVC that'd be my preference.
Office is trying to adopt gsl::span more broadly, but we are seeing some unexpected performance regressions when compiling with clang: A - range-for loops B - std algorithms
On a mail thread @StephanTLavavej suggested:
Could one of the maintainers please follow up?