Internal change

PiperOrigin-RevId: 486232020
diff --git a/quiche/quic/core/quic_interval_set.h b/quiche/quic/core/quic_interval_set.h
index 7de0362..11d0270 100644
--- a/quiche/quic/core/quic_interval_set.h
+++ b/quiche/quic/core/quic_interval_set.h
@@ -55,13 +55,15 @@
 #include <algorithm>
 #include <initializer_list>
 #include <set>
+#include <sstream>
 #include <string>
 #include <utility>
 #include <vector>
 
 #include "quiche/quic/core/quic_interval.h"
-#include "quiche/quic/platform/api/quic_logging.h"
+#include "quiche/quic/platform/api/quic_flags.h"
 #include "quiche/common/platform/api/quiche_containers.h"
+#include "quiche/common/platform/api/quiche_logging.h"
 
 namespace quic {
 
@@ -126,7 +128,7 @@
   // Same semantics as Add(const value_type&), but optimized for the case where
   // rbegin()->min() <= |interval|.min() <= rbegin()->max().
   void AddOptimizedForAppend(const value_type& interval) {
-    if (Empty()) {
+    if (Empty() || !GetQuicFlag(quic_interval_set_enable_add_optimization)) {
       Add(interval);
       return;
     }
diff --git a/quiche/quic/core/quic_protocol_flags_list.h b/quiche/quic/core/quic_protocol_flags_list.h
index a94fbc6..1c92890 100644
--- a/quiche/quic/core/quic_protocol_flags_list.h
+++ b/quiche/quic/core/quic_protocol_flags_list.h
@@ -218,4 +218,8 @@
 QUIC_PROTOCOL_FLAG(bool, quic_bounded_crypto_send_buffer, false,
                    "If true, close the connection if a crypto send buffer "
                    "exceeds its size limit.")
+
+QUIC_PROTOCOL_FLAG(bool, quic_interval_set_enable_add_optimization, true,
+                   "If true, enable an optimization in QuicIntervalSet")
+
 #endif