aboutsummaryrefslogtreecommitdiffstats
path: root/library/cpp/testing/benchmark/bench.h
diff options
context:
space:
mode:
authoryazevnul <yazevnul@yandex-team.ru>2022-02-10 16:46:46 +0300
committerDaniil Cherednik <dcherednik@yandex-team.ru>2022-02-10 16:46:46 +0300
commit8cbc307de0221f84c80c42dcbe07d40727537e2c (patch)
tree625d5a673015d1df891e051033e9fcde5c7be4e5 /library/cpp/testing/benchmark/bench.h
parent30d1ef3941e0dc835be7609de5ebee66958f215a (diff)
downloadydb-8cbc307de0221f84c80c42dcbe07d40727537e2c.tar.gz
Restoring authorship annotation for <yazevnul@yandex-team.ru>. Commit 1 of 2.
Diffstat (limited to 'library/cpp/testing/benchmark/bench.h')
-rw-r--r--library/cpp/testing/benchmark/bench.h66
1 files changed, 33 insertions, 33 deletions
diff --git a/library/cpp/testing/benchmark/bench.h b/library/cpp/testing/benchmark/bench.h
index 21551ad0dd..5773fc1534 100644
--- a/library/cpp/testing/benchmark/bench.h
+++ b/library/cpp/testing/benchmark/bench.h
@@ -26,62 +26,62 @@ namespace NBench {
/**
* Functions that states "I can read and write everywhere in memory".
- *
- * Use it to prevent optimizer from reordering or discarding memory writes prior to it's call,
- * and force memory reads after it's call.
- */
- void Clobber();
-
+ *
+ * Use it to prevent optimizer from reordering or discarding memory writes prior to it's call,
+ * and force memory reads after it's call.
+ */
+ void Clobber();
+
/**
* Forces whatever `p` points to be in memory and not in register.
- *
- * @param Pointer to data.
- */
- template <typename T>
- void Escape(T* p);
-
-#if defined(__GNUC__)
- Y_FORCE_INLINE void Clobber() {
+ *
+ * @param Pointer to data.
+ */
+ template <typename T>
+ void Escape(T* p);
+
+#if defined(__GNUC__)
+ Y_FORCE_INLINE void Clobber() {
asm volatile(""
:
:
: "memory");
- }
+ }
#elif defined(_MSC_VER)
Y_FORCE_INLINE void Clobber() {
_ReadWriteBarrier();
}
-#else
- Y_FORCE_INLINE void Clobber() {
- }
-#endif
-
-#if defined(__GNUC__)
- template <typename T>
- Y_FORCE_INLINE void Escape(T* p) {
+#else
+ Y_FORCE_INLINE void Clobber() {
+ }
+#endif
+
+#if defined(__GNUC__)
+ template <typename T>
+ Y_FORCE_INLINE void Escape(T* p) {
asm volatile(""
:
: "g"(p)
: "memory");
- }
-#else
- template <typename T>
- Y_FORCE_INLINE void Escape(T*) {
- }
-#endif
-
+ }
+#else
+ template <typename T>
+ Y_FORCE_INLINE void Escape(T*) {
+ }
+#endif
+
/**
* Use this function to prevent unused variables elimination.
*
* @param Unused variable (e.g. return value of benchmarked function).
*/
- template <typename T>
+ template <typename T>
Y_FORCE_INLINE void DoNotOptimize(T&& datum) {
::DoNotOptimizeAway(std::forward<T>(datum));
}
-
- int Main(int argc, char** argv);
+
+ int Main(int argc, char** argv);
}
#define Y_CPU_BENCHMARK(name, cnt) \