PLSSVM - Parallel Least Squares Support Vector Machine  2.0.0
A Least Squares Support Vector Machine implementation using different backends.
Classes | Namespaces | Macros | Functions | Variables
performance_tracker.hpp File Reference

Defines a performance tracker which can dump performance information in a YAML file. More...

#include "plssvm/detail/cmd/parser_predict.hpp"
#include "plssvm/detail/cmd/parser_scale.hpp"
#include "plssvm/detail/cmd/parser_train.hpp"
#include "plssvm/detail/type_traits.hpp"
#include "fmt/chrono.h"
#include "fmt/core.h"
#include "fmt/ostream.h"
#include <memory>
#include <string>
#include <string_view>
#include <type_traits>
#include <unordered_map>
#include <utility>
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  plssvm::detail::tracking_entry< T >
 A single tracking entry containing a specific category, a unique name, and the actual value to be tracked. More...
 
struct  plssvm::detail::impl::is_tracking_entry< T >
 Sets the value to false since it isn't a tracking entry. More...
 
struct  plssvm::detail::impl::is_tracking_entry< tracking_entry< T > >
 Sets the value to true since it is a tracking entry. More...
 
struct  plssvm::detail::is_tracking_entry< T >
 Check whether T is a tracking entry. Ignores all top-level const, volatile, and reference qualifiers. More...
 
class  plssvm::detail::performance_tracker
 Store the tracked information during calls to plssvm-train, plssvm-predict, and plssvm-scale. More...
 

Namespaces

 plssvm
 The main namespace containing all public API functions.
 
 plssvm::detail
 Namespace containing implementation details. Should not directly be used by users.
 

Macros

#define PLSSVM_DETAIL_PERFORMANCE_TRACKER_PAUSE()
 Defines the PLSSVM_DETAIL_PERFORMANCE_TRACKER_PAUSE macro if PLSSVM_PERFORMANCE_TRACKER_ENABLED is defined. More...
 
#define PLSSVM_DETAIL_PERFORMANCE_TRACKER_RESUME()
 Defines the PLSSVM_DETAIL_PERFORMANCE_TRACKER_RESUME macro if PLSSVM_PERFORMANCE_TRACKER_ENABLED is defined. More...
 
#define PLSSVM_DETAIL_PERFORMANCE_TRACKER_SAVE(filename)
 Defines the PLSSVM_DETAIL_PERFORMANCE_TRACKER_SAVE macro if PLSSVM_PERFORMANCE_TRACKER_ENABLED is defined. More...
 
#define PLSSVM_DETAIL_PERFORMANCE_TRACKER_ADD_TRACKING_ENTRY(entry)
 Defines the PLSSVM_DETAIL_PERFORMANCE_TRACKER_ADD_TRACKING_ENTRY macro if PLSSVM_PERFORMANCE_TRACKER_ENABLED is defined. More...
 

Functions

template<typename T >
std::ostream & plssvm::detail::operator<< (std::ostream &out, const tracking_entry< T > &entry)
 Output the tracking entry to the given output-stream out. Only the tracked value is output excluding the category and name. More...
 

Variables

template<typename T >
constexpr bool plssvm::detail::is_tracking_entry_v = is_tracking_entry<T>::value
 
std::shared_ptr< performance_tracker > plssvm::detail::global_tracker
 The global performance tracker instance used for the default tracking.
 

Detailed Description

Defines a performance tracker which can dump performance information in a YAML file.

Author
Alexander Van Craen
Marcel Breyer
License

This file is part of the PLSSVM project which is released under the MIT license. See the LICENSE.md file in the project root for full license information.

Can be completely disabled during the CMake configuration step.

Macro Definition Documentation

◆ PLSSVM_DETAIL_PERFORMANCE_TRACKER_PAUSE

#define PLSSVM_DETAIL_PERFORMANCE_TRACKER_PAUSE ( )

Defines the PLSSVM_DETAIL_PERFORMANCE_TRACKER_PAUSE macro if PLSSVM_PERFORMANCE_TRACKER_ENABLED is defined.

Pause the tracking functionality if tracking is currently enabled.

◆ PLSSVM_DETAIL_PERFORMANCE_TRACKER_RESUME

#define PLSSVM_DETAIL_PERFORMANCE_TRACKER_RESUME ( )

Defines the PLSSVM_DETAIL_PERFORMANCE_TRACKER_RESUME macro if PLSSVM_PERFORMANCE_TRACKER_ENABLED is defined.

Resume the tracking functionality if tracking is currently enabled.

◆ PLSSVM_DETAIL_PERFORMANCE_TRACKER_SAVE

#define PLSSVM_DETAIL_PERFORMANCE_TRACKER_SAVE (   filename)

Defines the PLSSVM_DETAIL_PERFORMANCE_TRACKER_SAVE macro if PLSSVM_PERFORMANCE_TRACKER_ENABLED is defined.

Save the previously tracked performance statistics.

◆ PLSSVM_DETAIL_PERFORMANCE_TRACKER_ADD_TRACKING_ENTRY

#define PLSSVM_DETAIL_PERFORMANCE_TRACKER_ADD_TRACKING_ENTRY (   entry)

Defines the PLSSVM_DETAIL_PERFORMANCE_TRACKER_ADD_TRACKING_ENTRY macro if PLSSVM_PERFORMANCE_TRACKER_ENABLED is defined.

Adds the provided entry to the plssvm::detail::performance_tracker singleton if tracking is currently enabled.