Newer
Older
Import / projects / Gameloft / core / Utils / ThreadVisualize.h
@John John on 29 Dec 2020 743 bytes bulk import from macbookpro checkouts
#pragma once


//#define USE_VISUAL_STUDIO_CONCURRENCY_VISUALIZER
#ifdef USE_VISUAL_STUDIO_CONCURRENCY_VISUALIZER

#include <cvmarkersobj.h>

#define DECLARE_THREAD_MARKER(name) \
  Concurrency::diagnostic::marker_series markerSeries_##name; \
  Concurrency::diagnostic::span *concurrencyVisualizerSpan_##name = nullptr;

#define START_THREAD_MARKER(name, text) \
  concurrencyVisualizerSpan_##name = new Concurrency::diagnostic::span(markerSeries_##name, text);

#define STOP_THREAD_MARKER(name) \
  delete concurrencyVisualizerSpan_##name; \
  concurrencyVisualizerSpan_##name = nullptr;

#else

#define DECLARE_THREAD_MARKER(name)
#define START_THREAD_MARKER(name, text)
#define STOP_THREAD_MARKER(name)

#endif