Name Date Size #Lines LOC

..--

allocator/H25-Apr-2025-83,28556,766

android/H25-Apr-2025-58,30537,999

apple/H25-Apr-2025-4,8983,370

containers/H25-Apr-2025-22,58414,920

debug/H25-Apr-2025-11,5057,487

files/H25-Apr-2025-29,37120,109

fuchsia/H25-Apr-2025-4,8173,158

functional/H25-Apr-2025-8,6845,688

hash/H25-Apr-2025-2,1011,325

i18n/H25-Apr-2025-9,8946,624

ios/H25-Apr-2025-1,7411,229

json/H25-Apr-2025-6,5994,739

mac/H25-Apr-2025-4,2133,021

macros/H25-Apr-2025-10641

memory/H25-Apr-2025-18,63012,107

message_loop/H25-Apr-2025-11,3507,180

metrics/H25-Apr-2025-26,85117,071

nix/H25-Apr-2025-1,6191,130

numerics/H25-Apr-2025-5,4573,829

posix/H25-Apr-2025-1,7471,118

power_monitor/H25-Apr-2025-3,9192,566

process/H25-Apr-2025-16,98711,305

profiler/H25-Apr-2025-16,17810,632

ranges/H25-Apr-2025-7,2584,128

sampling_heap_profiler/H25-Apr-2025-2,4811,606

strings/H25-Apr-2025-17,91212,277

substring_set_matcher/H25-Apr-2025-1,290773

synchronization/H25-Apr-2025-5,0013,077

system/H25-Apr-2025-3,4032,364

task/H25-Apr-2025-63,67242,788

test/H25-Apr-2025-53,39335,336

third_party/H25-Apr-2025-18,49412,569

threading/H25-Apr-2025-21,68613,703

time/H25-Apr-2025-7,8214,993

timer/H25-Apr-2025-3,0461,935

trace_event/H25-Apr-2025-29,03220,459

tracing/H25-Apr-2025-7,2625,471

types/H25-Apr-2025-8,7886,059

version_info/H25-Apr-2025-631437

win/H25-Apr-2025-31,17421,866

Android.bpH A D25-Apr-2025134.5 KiB3,1563,139

BUILD.gnH A D25-Apr-2025195.7 KiB5,3554,992

DEPSH A D25-Apr-20251.6 KiB5044

DIR_METADATAH A D25-Apr-202590 76

PRESUBMIT.pyH A D25-Apr-20255.7 KiB160125

README.mdH A D25-Apr-20254.2 KiB8874

at_exit.ccH A D25-Apr-20253.3 KiB11675

at_exit.hH A D25-Apr-20252.8 KiB8939

at_exit_unittest.ccH A D25-Apr-20252.4 KiB8864

atomic_ref_count.hH A D25-Apr-20252.7 KiB7632

atomic_sequence_num.hH A D25-Apr-2025992 3215

atomicops.hH A D25-Apr-20256.5 KiB15457

atomicops_internals_atomicword_compat.hH A D25-Apr-20253.3 KiB9560

atomicops_internals_portable.hH A D25-Apr-20257.5 KiB196132

atomicops_unittest.ccH A D25-Apr-20257.4 KiB242171

auto_reset.hH A D25-Apr-20252.3 KiB7037

auto_reset_unittest.ccH A D25-Apr-2025822 3420

barrier_callback.hH A D25-Apr-20254 KiB12069

barrier_callback_unittest.ccH A D25-Apr-20255.2 KiB168121

barrier_closure.ccH A D25-Apr-20251.5 KiB5941

barrier_closure.hH A D25-Apr-2025930 299

barrier_closure_unittest.ccH A D25-Apr-20252.8 KiB8961

base64.ccH A D25-Apr-20253.3 KiB10468

base64.hH A D25-Apr-20251.7 KiB5725

base64_decode_fuzzer.ccH A D25-Apr-2025470 169

base64_encode_fuzzer.ccH A D25-Apr-2025854 2614

base64_unittest.ccH A D25-Apr-20254.8 KiB15393

base64url.ccH A D25-Apr-20254.6 KiB152105

base64url.hH A D25-Apr-20252.2 KiB6832

base64url_fuzzer.ccH A D25-Apr-20252 KiB6244

base64url_unittest.ccH A D25-Apr-20256.4 KiB188124

base_export.hH A D25-Apr-2025699 3020

base_paths.ccH A D25-Apr-20253.8 KiB11592

base_paths.hH A D25-Apr-20254.3 KiB10041

base_paths_android.ccH A D25-Apr-20252.3 KiB7147

base_paths_android.hH A D25-Apr-2025661 2611

base_paths_apple.ccH A D25-Apr-20251.8 KiB5128

base_paths_apple.hH A D25-Apr-2025711 239

base_paths_fuchsia.ccH A D25-Apr-20251.7 KiB5733

base_paths_ios.hH A D25-Apr-2025624 2610

base_paths_ios.mmH A D25-Apr-20252.1 KiB7056

base_paths_mac.hH A D25-Apr-2025629 2610

base_paths_mac.mmH A D25-Apr-20252.3 KiB7162

base_paths_posix.ccH A D25-Apr-20253.1 KiB10585

base_paths_posix.hH A D25-Apr-2025837 2910

base_paths_win.ccH A D25-Apr-20257.8 KiB215180

base_paths_win.hH A D25-Apr-20253.1 KiB6528

base_switches.ccH A D25-Apr-20258.6 KiB18852

base_switches.hH A D25-Apr-20252 KiB7053

big_endian.hH A D25-Apr-2025640 2513

big_endian_perftest.ccH A D25-Apr-20254.7 KiB142115

bit_cast.hH A D25-Apr-20251.7 KiB4626

bit_cast_unittest.ccH A D25-Apr-2025558 3220

bits.hH A D25-Apr-20255.3 KiB15172

bits_unittest.ccH A D25-Apr-20256.3 KiB161131

build_time.hH A D25-Apr-20251.2 KiB3710

build_time_unittest.ccH A D25-Apr-20251,022 3424

callback_list.ccH A D25-Apr-20251,007 4024

callback_list.hH A D25-Apr-202512.8 KiB349161

callback_list_nocompile.ncH A D25-Apr-20251.4 KiB5038

callback_list_unittest.ccH A D25-Apr-202517.5 KiB581391

cancelable_callback.hH A D25-Apr-20255.2 KiB15977

cancelable_callback_unittest.ccH A D25-Apr-20257.9 KiB266163

check.ccH A D25-Apr-202514.5 KiB409317

check.hH A D25-Apr-202512.3 KiB307153

check_deref.hH A D25-Apr-20251.5 KiB5323

check_example.ccH A D25-Apr-20251.2 KiB4019

check_is_test.ccH A D25-Apr-20251.2 KiB3918

check_is_test.hH A D25-Apr-20251.7 KiB5111

check_is_test_unittest.ccH A D25-Apr-2025451 165

check_op.ccH A D25-Apr-20252.2 KiB10278

check_op.hH A D25-Apr-202510.9 KiB255158

check_unittest.ccH A D25-Apr-202528.2 KiB742550

check_version_internal.h.inH A D25-Apr-2025444 149

command_line.ccH A D25-Apr-202525.1 KiB745579

command_line.hH A D25-Apr-202515.1 KiB355137

command_line_fuzzer.ccH A D25-Apr-20254.1 KiB143111

command_line_unittest.ccH A D25-Apr-202530.3 KiB851701

compiler_specific.hH A D25-Apr-202524.3 KiB630259

component_export.hH A D25-Apr-20253.5 KiB7732

component_export_unittest.ccH A D25-Apr-20252 KiB8355

cpu.ccH A D25-Apr-202512.9 KiB382256

cpu.hH A D25-Apr-20255.8 KiB176124

cpu_reduction_experiment.ccH A D25-Apr-20252 KiB7749

cpu_reduction_experiment.hH A D25-Apr-20251.1 KiB309

cpu_unittest.ccH A D25-Apr-20257.6 KiB240140

critical_closure.hH A D25-Apr-20254.8 KiB13278

critical_closure_internal_ios.mmH A D25-Apr-20251.1 KiB4129

dcheck_is_on.hH A D25-Apr-2025537 2314

enterprise_util.ccH A D25-Apr-2025310 146

enterprise_util.hH A D25-Apr-20252.2 KiB6627

enterprise_util_mac.mmH A D25-Apr-20258 KiB224191

enterprise_util_mac_unittest.mmH A D25-Apr-2025559 1912

enterprise_util_win.ccH A D25-Apr-20251 KiB3012

environment.ccH A D25-Apr-20253.9 KiB13193

environment.hH A D25-Apr-20251.7 KiB6133

environment_unittest.ccH A D25-Apr-20252.8 KiB10359

export_template.hH A D25-Apr-20256.3 KiB14839

feature_list.ccH A D25-Apr-202536.1 KiB1,010719

feature_list.hH A D25-Apr-202531.8 KiB671202

feature_list_unittest.ccH A D25-Apr-202541.6 KiB976748

feature_visitor.hH A D25-Apr-20251.8 KiB5929

features.ccH A D25-Apr-20254.4 KiB12878

features.hH A D25-Apr-20251.8 KiB5626

file_descriptor_posix.ccH A D25-Apr-2025913 3420

file_descriptor_posix.hH A D25-Apr-20252 KiB5520

file_descriptor_store.ccH A D25-Apr-20252.2 KiB7453

file_descriptor_store.hH A D25-Apr-20252.3 KiB7441

file_version_info.hH A D25-Apr-20252.4 KiB7038

file_version_info_apple.hH A D25-Apr-20251.4 KiB4527

file_version_info_apple.mmH A D25-Apr-20252.9 KiB9879

file_version_info_win.ccH A D25-Apr-20256 KiB201151

file_version_info_win.hH A D25-Apr-20252.6 KiB7947

file_version_info_win_unittest.ccH A D25-Apr-20255.8 KiB170129

format_macros.hH A D25-Apr-20251.9 KiB7542

gmock_unittest.ccH A D25-Apr-20253.8 KiB13685

gtest_prod_util.hH A D25-Apr-20251.9 KiB6813

immediate_crash.hH A D25-Apr-20256.6 KiB18675

immediate_crash_unittest.ccH A D25-Apr-20258.8 KiB234140

lazy_instance.hH A D25-Apr-20257.6 KiB21499

lazy_instance_helpers.ccH A D25-Apr-20252.7 KiB6936

lazy_instance_helpers.hH A D25-Apr-20254.5 KiB10141

lazy_instance_unittest.ccH A D25-Apr-202510 KiB323230

libcpp_hardening_test.ccH A D25-Apr-20252.6 KiB6629

linux_util.ccH A D25-Apr-20256.5 KiB234178

linux_util.hH A D25-Apr-20252.6 KiB6624

linux_util_unittest.ccH A D25-Apr-20252.6 KiB7764

location.ccH A D25-Apr-20254.6 KiB141100

location.hH A D25-Apr-20254.1 KiB11253

location_unittest.ccH A D25-Apr-20251.5 KiB4629

logging.ccH A D25-Apr-202543.3 KiB1,307931

logging.hH A D25-Apr-202530.9 KiB772333

logging_chromeos.ccH A D25-Apr-20253.2 KiB9164

logging_nocompile.ncH A D25-Apr-20251.6 KiB4134

logging_unittest.ccH A D25-Apr-202530.6 KiB959690

logging_win.ccH A D25-Apr-20254.2 KiB13993

logging_win.hH A D25-Apr-20252.5 KiB8541

moving_window.hH A D25-Apr-202521 KiB718467

moving_window_unittest.ccH A D25-Apr-20256.4 KiB205176

native_library.ccH A D25-Apr-2025438 168

native_library.hH A D25-Apr-20254.6 KiB13673

native_library_fuchsia.ccH A D25-Apr-20253.4 KiB11086

native_library_ios.mmH A D25-Apr-20251.2 KiB4837

native_library_mac.mmH A D25-Apr-20254.5 KiB134116

native_library_posix.ccH A D25-Apr-20252.3 KiB7550

native_library_unittest.ccH A D25-Apr-20256 KiB180119

native_library_win.ccH A D25-Apr-20256.2 KiB188128

no_destructor.hH A D25-Apr-20255.3 KiB14440

no_destructor_nocompile.ncH A D25-Apr-20251.1 KiB2921

no_destructor_unittest.ccH A D25-Apr-20257.5 KiB229144

nodebug_assertion.ccH A D25-Apr-2025455 189

not_fatal_until.hH A D25-Apr-20251.8 KiB10489

notimplemented.hH A D25-Apr-20251.3 KiB3521

notreached.hH A D25-Apr-20253 KiB7434

observer_list.hH A D25-Apr-202512.1 KiB394230

observer_list_internal.ccH A D25-Apr-2025666 2112

observer_list_internal.hH A D25-Apr-20255.9 KiB178123

observer_list_nocompile.ncH A D25-Apr-20251.1 KiB3325

observer_list_perftest.ccH A D25-Apr-20254.2 KiB13193

observer_list_threadsafe.ccH A D25-Apr-2025932 3016

observer_list_threadsafe.hH A D25-Apr-202512.8 KiB335208

observer_list_threadsafe_unittest.ccH A D25-Apr-202519.2 KiB600420

observer_list_types.ccH A D25-Apr-2025393 178

observer_list_types.hH A D25-Apr-20251.5 KiB4821

observer_list_unittest.ccH A D25-Apr-202529.2 KiB1,068808

one_shot_event.ccH A D25-Apr-20253.3 KiB10576

one_shot_event.hH A D25-Apr-20253.9 KiB10742

one_shot_event_unittest.ccH A D25-Apr-20255.2 KiB175136

os_compat_android.ccH A D25-Apr-20255.5 KiB17997

os_compat_android.hH A D25-Apr-2025558 229

os_compat_android_unittest.ccH A D25-Apr-20251.4 KiB4220

os_compat_nacl.ccH A D25-Apr-2025561 3121

os_compat_nacl.hH A D25-Apr-2025395 177

parameter_pack.hH A D25-Apr-20252.3 KiB8149

parameter_pack_unittest.ccH A D25-Apr-20252.6 KiB7457

path_service.ccH A D25-Apr-20259.8 KiB385279

path_service.hH A D25-Apr-20253.6 KiB9431

path_service_unittest.ccH A D25-Apr-202517.3 KiB470339

pending_task.ccH A D25-Apr-20252.4 KiB7755

pending_task.hH A D25-Apr-20254 KiB11158

pickle.ccH A D25-Apr-202513.6 KiB488384

pickle.hH A D25-Apr-202515.5 KiB387180

pickle_fuzzer.ccH A D25-Apr-20253.3 KiB130117

pickle_unittest.ccH A D25-Apr-202518.6 KiB662473

rand_util.ccH A D25-Apr-20256.6 KiB208137

rand_util.hH A D25-Apr-20258.2 KiB247111

rand_util_fuchsia.ccH A D25-Apr-20251.8 KiB7142

rand_util_nacl.ccH A D25-Apr-2025739 3120

rand_util_perftest.ccH A D25-Apr-20251.8 KiB5940

rand_util_posix.ccH A D25-Apr-20257.1 KiB248170

rand_util_unittest.ccH A D25-Apr-202514.8 KiB437279

rand_util_win.ccH A D25-Apr-20252.9 KiB10868

run_loop.ccH A D25-Apr-202511.4 KiB349227

run_loop.hH A D25-Apr-202514 KiB352137

run_loop_unittest.ccH A D25-Apr-202522.8 KiB671473

safe_numerics_unittest.ccH A D25-Apr-202588 KiB1,9721,677

scoped_add_feature_flags.ccH A D25-Apr-20253.2 KiB9175

scoped_add_feature_flags.hH A D25-Apr-20252.2 KiB6334

scoped_add_feature_flags_unittest.ccH A D25-Apr-20253.5 KiB8866

scoped_clear_last_error.hH A D25-Apr-20251.6 KiB5630

scoped_clear_last_error_unittest.ccH A D25-Apr-20251.2 KiB5843

scoped_clear_last_error_win.ccH A D25-Apr-2025473 2111

scoped_environment_variable_override.ccH A D25-Apr-20251.6 KiB5137

scoped_environment_variable_override.hH A D25-Apr-20251.5 KiB4730

scoped_generic.hH A D25-Apr-202510.6 KiB311145

scoped_generic_unittest.ccH A D25-Apr-20256.9 KiB321228

scoped_multi_source_observation.hH A D25-Apr-20253.5 KiB10950

scoped_multi_source_observation_unittest.ccH A D25-Apr-20256.4 KiB227172

scoped_native_library.ccH A D25-Apr-20251.2 KiB4125

scoped_native_library.hH A D25-Apr-20252 KiB6530

scoped_native_library_unittest.ccH A D25-Apr-20251.7 KiB4930

scoped_observation.hH A D25-Apr-20254.5 KiB14539

scoped_observation_traits.hH A D25-Apr-20252.6 KiB8123

scoped_observation_unittest.ccH A D25-Apr-20258.2 KiB298217

security_unittest.ccH A D25-Apr-20253.9 KiB11572

sequence_checker.ccH A D25-Apr-2025771 3019

sequence_checker.hH A D25-Apr-20254.8 KiB13248

sequence_checker_impl.ccH A D25-Apr-20254.3 KiB13578

sequence_checker_impl.hH A D25-Apr-20253.1 KiB8334

sequence_checker_nocompile.ncH A D25-Apr-20251.1 KiB4732

sequence_checker_unittest.ccH A D25-Apr-202510.6 KiB326226

sequence_token.ccH A D25-Apr-20253 KiB10778

sequence_token.hH A D25-Apr-20254.6 KiB13257

sequence_token_unittest.ccH A D25-Apr-20254.9 KiB163115

stack_canary_linux.ccH A D25-Apr-20253.8 KiB10969

stack_canary_linux.hH A D25-Apr-20251.3 KiB338

stack_canary_linux_unittest.ccH A D25-Apr-20251.5 KiB4624

state_transitions.hH A D25-Apr-20253.3 KiB10136

state_transitions_unittest.ccH A D25-Apr-20253.8 KiB10176

std_clamp_unittest.ccH A D25-Apr-20251.2 KiB4833

stl_util.hH A D25-Apr-20253.7 KiB12080

stl_util_unittest.ccH A D25-Apr-20255.6 KiB237203

supports_user_data.ccH A D25-Apr-20253.6 KiB11678

supports_user_data.hH A D25-Apr-20253.5 KiB9953

supports_user_data_unittest.ccH A D25-Apr-20254.9 KiB155109

sync_socket.ccH A D25-Apr-2025829 3216

sync_socket.hH A D25-Apr-20256 KiB15973

sync_socket_nacl.ccH A D25-Apr-20252.3 KiB9568

sync_socket_posix.ccH A D25-Apr-20257 KiB233162

sync_socket_unittest.ccH A D25-Apr-20255.6 KiB195138

sync_socket_win.ccH A D25-Apr-202512 KiB358259

sys_byteorder.hH A D25-Apr-20251.7 KiB7653

sys_byteorder_unittest.ccH A D25-Apr-20251.8 KiB7660

syslog_logging.ccH A D25-Apr-20255 KiB184130

syslog_logging.hH A D25-Apr-20251.9 KiB5730

template_util.hH A D25-Apr-20251.8 KiB6633

template_util_unittest.ccH A D25-Apr-2025635 2414

thread_annotations.hH A D25-Apr-20259.7 KiB26463

thread_annotations_nocompile.ncH A D25-Apr-20251.7 KiB6249

thread_annotations_unittest.ccH A D25-Apr-20251.2 KiB6044

token.ccH A D25-Apr-20252.2 KiB8457

token.hH A D25-Apr-20252.9 KiB9044

token_unittest.ccH A D25-Apr-20253 KiB9264

tools_sanity_unittest.ccH A D25-Apr-202514.1 KiB461319

traits_bag.hH A D25-Apr-20259.4 KiB247108

traits_bag_nocompile.ncH A D25-Apr-20252.3 KiB5338

traits_bag_unittest.ccH A D25-Apr-20256.5 KiB218152

tuple.hH A D25-Apr-20254.1 KiB11362

tuple_unittest.ccH A D25-Apr-20252.8 KiB11178

unguessable_token.ccH A D25-Apr-20252.2 KiB7548

unguessable_token.hH A D25-Apr-20255.5 KiB14867

unguessable_token_unittest.ccH A D25-Apr-20257.1 KiB217166

unsafe_buffers_nocompile.ncH A D25-Apr-2025786 2720

unsafe_buffers_unittest.ccH A D25-Apr-2025955 3619

uuid.ccH A D25-Apr-20254.8 KiB172112

uuid.hH A D25-Apr-20254.3 KiB11648

uuid_unittest.ccH A D25-Apr-20257 KiB223172

value_iterators.ccH A D25-Apr-20253.1 KiB12985

value_iterators.hH A D25-Apr-20254.4 KiB13785

value_iterators_unittest.ccH A D25-Apr-20256.8 KiB247184

values.ccH A D25-Apr-202537.1 KiB1,3661,053

values.hH A D25-Apr-202545.7 KiB1,135522

values_nocompile.ncH A D25-Apr-20254.7 KiB11689

values_unittest.ccH A D25-Apr-202566.4 KiB2,2651,808

version.ccH A D25-Apr-20255.9 KiB198136

version.hH A D25-Apr-20252.6 KiB7834

version_unittest.ccH A D25-Apr-20256.2 KiB244211

vlog.ccH A D25-Apr-20255.6 KiB184145

vlog.hH A D25-Apr-20253.3 KiB10040

vlog_unittest.ccH A D25-Apr-20257.4 KiB189144

write_build_date_header.pyH A D25-Apr-20251.3 KiB3827

README.md

1# What is this
2Contains a written down set of principles and other information on //base.
3Please add to it!
4
5## About //base:
6
7Chromium is a very mature project. Most things that are generally useful are
8already here and things not here aren't generally useful.
9
10The bar for adding stuff to base is that it must have demonstrated wide
11applicability. Prefer to add things closer to where they're used (i.e. "not
12base"), and pull into base only when needed. In a project our size,
13sometimes even duplication is OK and inevitable.
14
15Adding a new logging macro `DPVELOG_NE` is not more clear than just
16writing the stuff you want to log in a regular logging statement, even
17if it makes your calling code longer. Just add it to your own code.
18
19If the code in question does not need to be used inside base, but will have
20multiple consumers across the codebase, consider placing it in a new directory
21under components/ instead.
22
23base is written for the Chromium project and is not intended to be used
24outside it.  Using base outside of src.git is explicitly not supported,
25and base makes no guarantees about API (or even ABI) stability (like all
26other code in Chromium).  New code that depends on base/ must be in
27src.git. Code that's not in src.git but pulled in through DEPS (for
28example, v8) cannot use base.
29
30## Qualifications for being in //base OWNERS
31  * interest and ability to learn low level/high detail/complex c++ stuff
32  * inclination to always ask why and understand everything (including external
33    interactions like win32) rather than just hoping the author did it right
34  * mentorship/experience
35  * demonstrated good judgement (esp with regards to public APIs) over a length
36    of time
37
38Owners are added when a contributor has shown the above qualifications and
39when they express interest. There isn't an upper bound on the number of OWNERS.
40
41## Design and naming
42  * Be sure to use the base namespace.
43  * STL-like constructs should adhere as closely to STL as possible. Functions
44    and behaviors not present in STL should only be added when they are related
45    to the specific data structure implemented by the container.
46  * For STL-like constructs our policy is that they should use STL-like naming
47    even when it may conflict with the style guide. So functions and class names
48    should be lower case with underscores. Non-STL-like classes and functions
49    should use Google naming.
50
51## Performance testing
52
53Since the primitives provided by //base are used very widely, it is important to
54ensure they scale to the necessary workloads and perform well under all
55supported platforms. The `base_perftests` target is a suite of
56synthetic microbenchmarks that measure performance in various scenarios:
57
58  * BasicPostTaskPerfTest: Exercises MessageLoopTaskRunner's multi-threaded
59    queue in isolation.
60  * ConditionVariablePerfTest: Measures thread switching cost of condition
61    variables.
62  * IntegratedPostTaskPerfTest: Exercises the full MessageLoop/RunLoop
63    machinery.
64  * JSONPerfTest: Tests JSONWriter and JSONReader performance.
65  * MessageLoopPerfTest: Measures the speed of task posting in various
66    configurations.
67  * ObserverListPerfTest: Exercises adding, removing and signalling observers.
68  * PartitionLockPerfTest: Tests the implementation of Lock used in
69    PartitionAlloc
70  * PthreadEventPerfTest: Establishes the baseline thread switching cost using
71    pthreads.
72  * RandUtilPerfTest: Measures the time it takes to generate random numbers.
73  * ScheduleWorkTest: Measures the overhead of MessagePump::ScheduleWork.
74  * SequenceManagerPerfTest: Benchmarks SequenceManager scheduling with various
75    underlying task runners.
76  * TaskObserverPerfTest: Measures the incremental cost of adding task
77    observers.
78  * TaskPerfTest: Checks the cost of posting tasks between threads.
79  * ThreadLocalStoragePerfTest: Exercises different mechanisms for accessing
80    data associated with the current thread (C++ `thread_local`, the
81    implementation in //base, the POSIX/WinAPI directly)
82  * WaitableEvent{Thread,}PerfTest: Measures waitable events in single and
83    multithreaded scenarios.
84
85Regressions in these benchmarks can generally by caused by 1) operating system
86changes, 2) compiler version or flag changes or 3) changes in //base code
87itself.
88