Export of internal Abseil changes.

--
4e224c85c3730398919fc5195cb1fc7a752e6e4f by Mark Barolak <mbar@google.com>:

Update some references to "StringPiece" to say "string_view" instead.

PiperOrigin-RevId: 219693697

--
6bdc925a3db5e97f1f8a404bdfda2e47e48f7b9a by Abseil Team <absl-team@google.com>:

Disable weak symbols for the Windows backend of LLVM, since they are currently buggy. See https://bugs.llvm.org/show_bug.cgi?id=37598 for more information.

PiperOrigin-RevId: 219676493

--
5823f495036181191f435efa4c45d60ca3160145 by Derek Mauro <dmauro@google.com>:

Don't use the SSE2 implementation of container_internal::Group
with -funsigned-char under GCC.

This is a workaround for https://github.com/abseil/abseil-cpp/issues/209.

_mm_cmpgt_epi8 is broken under GCC with -funsigned-char.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87853

PiperOrigin-RevId: 219666066
GitOrigin-RevId: 4e224c85c3730398919fc5195cb1fc7a752e6e4f
Change-Id: I2f115d0256576cf476ae73a9464c21d4106a2a56
This commit is contained in:
Abseil Team 2018-11-01 14:00:22 -07:00 committed by Matt Calabrese
parent cc8dcd307b
commit f95179062e
5 changed files with 71 additions and 47 deletions

View file

@ -35,16 +35,16 @@ std::string MakeTestString(int desired_length) {
return test;
}
void BM_Split2StringPiece(benchmark::State& state) {
void BM_Split2StringView(benchmark::State& state) {
std::string test = MakeTestString(state.range(0));
for (auto _ : state) {
std::vector<absl::string_view> result = absl::StrSplit(test, ';');
benchmark::DoNotOptimize(result);
}
}
BENCHMARK_RANGE(BM_Split2StringPiece, 0, 1 << 20);
BENCHMARK_RANGE(BM_Split2StringView, 0, 1 << 20);
void BM_Split2StringPieceLifted(benchmark::State& state) {
void BM_Split2StringViewLifted(benchmark::State& state) {
std::string test = MakeTestString(state.range(0));
std::vector<absl::string_view> result;
for (auto _ : state) {
@ -52,7 +52,7 @@ void BM_Split2StringPieceLifted(benchmark::State& state) {
}
benchmark::DoNotOptimize(result);
}
BENCHMARK_RANGE(BM_Split2StringPieceLifted, 0, 1 << 20);
BENCHMARK_RANGE(BM_Split2StringViewLifted, 0, 1 << 20);
void BM_Split2String(benchmark::State& state) {
std::string test = MakeTestString(state.range(0));