aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/sync/map.go9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/sync/map.go b/src/sync/map.go
index 1238368d38..c3c2d1cc86 100644
--- a/src/sync/map.go
+++ b/src/sync/map.go
@@ -12,6 +12,15 @@ import (
// Map is a concurrent map with amortized-constant-time loads, stores, and deletes.
// It is safe for multiple goroutines to call a Map's methods concurrently.
//
+// Map is designed to reduce cache contention in the Go standard library.
+// It is optimized for use in concurrent loops with keys that are stable
+// over time, and either few steady-state stores, or stores localized to
+// one goroutine per key.
+//
+// For use cases that do not share these attributes, it will likely have
+// comparable or worse performance and worse type safety than an ordinary
+// map paired with a read-write mutex.
+//
// The zero Map is valid and empty.
//
// A Map must not be copied after first use.