Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
A
abseil-cpp
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
open
abseil-cpp
Commits
04672c69
Commit
04672c69
authored
Oct 04, 2022
by
Gennadiy Rozental
Committed by
Copybara-Service
Oct 04, 2022
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
No changes in OSS.
PiperOrigin-RevId: 478869244 Change-Id: Id16eb1e5036e95a5e2a990a647f1f7090129a009
parent
e225d0b2
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
26 additions
and
7 deletions
+26
-7
absl/container/BUILD.bazel
+3
-0
absl/container/CMakeLists.txt
+3
-0
absl/container/internal/raw_hash_set_test.cc
+20
-7
No files found.
absl/container/BUILD.bazel
View file @
04672c69
...
...
@@ -637,6 +637,8 @@ cc_test(
],
deps = [
":container_memory",
":flat_hash_map",
":flat_hash_set",
":hash_function_defaults",
":hash_policy_testing",
":hashtable_debug",
...
...
@@ -646,6 +648,7 @@ cc_test(
"//absl/base:core_headers",
"//absl/base:prefetch",
"//absl/base:raw_logging_internal",
"//absl/log",
"//absl/strings",
"@com_google_googletest//:gtest_main",
],
...
...
absl/container/CMakeLists.txt
View file @
04672c69
...
...
@@ -722,12 +722,15 @@ absl_cc_test(
${
ABSL_TEST_COPTS
}
DEPS
absl::container_memory
absl::flat_hash_map
absl::flat_hash_set
absl::hash_function_defaults
absl::hash_policy_testing
absl::hashtable_debug
absl::raw_hash_set
absl::base
absl::config
absl::log
absl::core_headers
absl::prefetch
absl::raw_logging_internal
...
...
absl/container/internal/raw_hash_set_test.cc
View file @
04672c69
...
...
@@ -14,17 +14,25 @@
#include "absl/container/internal/raw_hash_set.h"
#include <algorithm>
#include <atomic>
#include <cmath>
#include <cstdint>
#include <deque>
#include <functional>
#include <iterator>
#include <list>
#include <map>
#include <memory>
#include <numeric>
#include <ostream>
#include <random>
#include <string>
#include <type_traits>
#include <unordered_map>
#include <unordered_set>
#include <utility>
#include <vector>
#include "gmock/gmock.h"
#include "gtest/gtest.h"
...
...
@@ -33,10 +41,13 @@
#include "absl/base/internal/cycleclock.h"
#include "absl/base/internal/prefetch.h"
#include "absl/base/internal/raw_logging.h"
#include "absl/container/flat_hash_map.h"
#include "absl/container/flat_hash_set.h"
#include "absl/container/internal/container_memory.h"
#include "absl/container/internal/hash_function_defaults.h"
#include "absl/container/internal/hash_policy_testing.h"
#include "absl/container/internal/hashtable_debug.h"
#include "absl/log/log.h"
#include "absl/strings/string_view.h"
namespace
absl
{
...
...
@@ -339,7 +350,7 @@ class StringPolicy {
struct
ctor
{};
template
<
class
...
Ts
>
slot_type
(
ctor
,
Ts
&&
...
ts
)
:
pair
(
std
::
forward
<
Ts
>
(
ts
)...)
{}
explicit
slot_type
(
ctor
,
Ts
&&
...
ts
)
:
pair
(
std
::
forward
<
Ts
>
(
ts
)...)
{}
std
::
pair
<
std
::
string
,
std
::
string
>
pair
;
};
...
...
@@ -411,7 +422,7 @@ struct CustomAlloc : std::allocator<T> {
CustomAlloc
()
{}
template
<
typename
U
>
CustomAlloc
(
const
CustomAlloc
<
U
>&
other
)
{}
explicit
CustomAlloc
(
const
CustomAlloc
<
U
>&
/*other*/
)
{}
template
<
class
U
>
struct
rebind
{
using
other
=
CustomAlloc
<
U
>
;
...
...
@@ -1275,6 +1286,7 @@ TEST(Table, DISABLED_EnsureNonQuadraticTopNXorSeedByProbeSeqLength) {
for
(
size_t
size
:
sizes
)
{
auto
&
stat
=
stats
[
size
];
VerifyStats
(
size
,
expected
,
stat
);
LOG
(
INFO
)
<<
size
<<
" "
<<
stat
;
}
}
...
...
@@ -1370,6 +1382,7 @@ TEST(Table, DISABLED_EnsureNonQuadraticTopNLinearTransformByProbeSeqLength) {
for
(
size_t
size
:
sizes
)
{
auto
&
stat
=
stats
[
size
];
VerifyStats
(
size
,
expected
,
stat
);
LOG
(
INFO
)
<<
size
<<
" "
<<
stat
;
}
}
...
...
@@ -1504,7 +1517,7 @@ TEST(Table, RehashZeroForcesRehash) {
TEST
(
Table
,
ConstructFromInitList
)
{
using
P
=
std
::
pair
<
std
::
string
,
std
::
string
>
;
struct
Q
{
operator
P
()
const
{
return
{};
}
operator
P
()
const
{
return
{};
}
// NOLINT
};
StringTable
t
=
{
P
(),
Q
(),
{},
{{},
{}}};
}
...
...
@@ -2027,7 +2040,7 @@ TEST(Table, UnstablePointers) {
TEST
(
TableDeathTest
,
EraseOfEndAsserts
)
{
// Use an assert with side-effects to figure out if they are actually enabled.
bool
assert_enabled
=
false
;
assert
([
&
]()
{
assert
([
&
]()
{
// NOLINT
assert_enabled
=
true
;
return
true
;
}());
...
...
@@ -2047,7 +2060,7 @@ TEST(RawHashSamplerTest, Sample) {
auto
&
sampler
=
GlobalHashtablezSampler
();
size_t
start_size
=
0
;
std
::
unordered
_set
<
const
HashtablezInfo
*>
preexisting_info
;
absl
::
flat_hash
_set
<
const
HashtablezInfo
*>
preexisting_info
;
start_size
+=
sampler
.
Iterate
([
&
](
const
HashtablezInfo
&
info
)
{
preexisting_info
.
insert
(
&
info
);
++
start_size
;
...
...
@@ -2074,8 +2087,8 @@ TEST(RawHashSamplerTest, Sample) {
}
}
size_t
end_size
=
0
;
std
::
unordered
_map
<
size_t
,
int
>
observed_checksums
;
std
::
unordered
_map
<
ssize_t
,
int
>
reservations
;
absl
::
flat_hash
_map
<
size_t
,
int
>
observed_checksums
;
absl
::
flat_hash
_map
<
ssize_t
,
int
>
reservations
;
end_size
+=
sampler
.
Iterate
([
&
](
const
HashtablezInfo
&
info
)
{
if
(
preexisting_info
.
count
(
&
info
)
==
0
)
{
observed_checksums
[
info
.
hashes_bitwise_xor
.
load
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment