aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/sliding_window/README.md
diff options
context:
space:
mode:
authorVasily Gerasimov <UgnineSirdis@gmail.com>2022-02-10 16:49:10 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:49:10 +0300
commit1eb755fbca92172a6aec2f57371b2b3a19dfab43 (patch)
tree5d5cb817648f650d76cf1076100726fd9b8448e8 /library/cpp/sliding_window/README.md
parent6cdc8f140213c595e4ad38bc3d97fcef1146b8c3 (diff)
downloadydb-1eb755fbca92172a6aec2f57371b2b3a19dfab43.tar.gz
Restoring authorship annotation for Vasily Gerasimov <UgnineSirdis@gmail.com>. Commit 2 of 2.
Diffstat (limited to 'library/cpp/sliding_window/README.md')
-rw-r--r--library/cpp/sliding_window/README.md58
1 files changed, 29 insertions, 29 deletions
diff --git a/library/cpp/sliding_window/README.md b/library/cpp/sliding_window/README.md
index b9c952ba8e..47692da7d5 100644
--- a/library/cpp/sliding_window/README.md
+++ b/library/cpp/sliding_window/README.md
@@ -1,30 +1,30 @@
-# TSlidingWindow - скользящее окно
-
+# TSlidingWindow - скользящее окно
+
[TSlidingWindow](/arc/trunk/arcadia/library/cpp/sliding_window/sliding_window.h) - класс скользящего окна, позволяющий поддерживать и обновлять определённое значение (максимум, сумму) в промежутке времени определённой длины. Разбивает общий временной промежуток на маленькие бакеты (число задаётся в конструкторе) и ротирует их, поддерживая значение за окно. Есть возможность также указать мьютекс или спинлок для синхронизации (по умолчанию TFakeMutex). Использование:
-
-```
-// Создаём окно, вычисляющее максимум за последние пять минут, поддерживая 50 бакетов со значениями.
-TSlidingWindow<TMaxOperation<int>> window(TDuration::Minutes(5), 50);
-
-// Загружаем значения в различные моменты времени
-window.Update(42, TInstant::Now());
-
-... // делаем какую-то работу
-int currentMaximum = window.Update(50, TInstant::Now());
-
-... // делаем ещё что-то
-int currentMaximum = window.Update(25, TInstant::Now());
-
-...
-// Просто получаем значение максимума за последние 5 минут
-int currentMaximum = window.Update(TInstant::Now());
-
-...
-int currentMaximum = window.GetValue(); // получение значения без обновления времени
-```
-
-# Поддерживаемые функции
-
-* `TMaxOperation` - максимум
-* `TMinOperation` - минимум
-* `TSumOperation` - сумма
+
+```
+// Создаём окно, вычисляющее максимум за последние пять минут, поддерживая 50 бакетов со значениями.
+TSlidingWindow<TMaxOperation<int>> window(TDuration::Minutes(5), 50);
+
+// Загружаем значения в различные моменты времени
+window.Update(42, TInstant::Now());
+
+... // делаем какую-то работу
+int currentMaximum = window.Update(50, TInstant::Now());
+
+... // делаем ещё что-то
+int currentMaximum = window.Update(25, TInstant::Now());
+
+...
+// Просто получаем значение максимума за последние 5 минут
+int currentMaximum = window.Update(TInstant::Now());
+
+...
+int currentMaximum = window.GetValue(); // получение значения без обновления времени
+```
+
+# Поддерживаемые функции
+
+* `TMaxOperation` - максимум
+* `TMinOperation` - минимум
+* `TSumOperation` - сумма