STLdoc
STLdocumentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Private Attributes | List of all members
__gnu_profile::__map2umap_info Class Reference

A map-to-unordered_map instrumentation line in the object table. More...

#include <profile/impl/profiler_map_to_unordered_map.h>

Inheritance diagram for __gnu_profile::__map2umap_info:
__gnu_profile::__object_info_base __gnu_profile::__map2umap_stack_info

Public Member Functions

 __map2umap_info ()
 
 __map2umap_info (__stack_t __stack)
 
virtual ~__map2umap_info ()
 
 __map2umap_info (const __map2umap_info &__o)
 
void __merge (const __map2umap_info &__o)
 
void __write (FILE *__f) const
 
float __magnitude () const
 
std::string __advice () const
 
void __record_insert (std::size_t __size, std::size_t __count)
 
void __record_erase (std::size_t __size, std::size_t __count)
 
void __record_find (std::size_t __size)
 
void __record_iterate (std::size_t __count)
 
void __record_invalidate ()
 
- Public Member Functions inherited from __gnu_profile::__object_info_base
 __object_info_base ()
 
 __object_info_base (__stack_t __stack)
 
 __object_info_base (const __object_info_base &__o)
 
virtual ~__object_info_base ()
 
bool __is_valid () const
 
__stack_t __stack () const
 

Private Attributes

std::size_t _M_insert
 
std::size_t _M_erase
 
std::size_t _M_find
 
std::size_t _M_iterate
 
float _M_umap_cost
 
float _M_map_cost
 
bool _M_valid
 

Additional Inherited Members

- Protected Attributes inherited from __gnu_profile::__object_info_base
__stack_t _M_stack
 
bool _M_valid
 

Detailed Description

A map-to-unordered_map instrumentation line in the object table.

Constructor & Destructor Documentation

__gnu_profile::__map2umap_info::__map2umap_info ( )
inline
71  : _M_insert(0), _M_erase(0), _M_find(0), _M_iterate(0),
72  _M_umap_cost(0.0), _M_map_cost(0.0), _M_valid(true) { }
std::size_t _M_iterate
Definition: profiler_map_to_unordered_map.h:161
bool _M_valid
Definition: profiler_map_to_unordered_map.h:164
std::size_t _M_insert
Definition: profiler_map_to_unordered_map.h:158
float _M_map_cost
Definition: profiler_map_to_unordered_map.h:163
std::size_t _M_find
Definition: profiler_map_to_unordered_map.h:160
std::size_t _M_erase
Definition: profiler_map_to_unordered_map.h:159
float _M_umap_cost
Definition: profiler_map_to_unordered_map.h:162
__gnu_profile::__map2umap_info::__map2umap_info ( __stack_t  __stack)
inline
76  _M_iterate(0), _M_umap_cost(0.0), _M_map_cost(0.0), _M_valid(true) { }
std::size_t _M_iterate
Definition: profiler_map_to_unordered_map.h:161
__object_info_base()
Definition: profiler_node.h:126
__stack_t __stack() const
Definition: profiler_node.h:141
bool _M_valid
Definition: profiler_map_to_unordered_map.h:164
std::size_t _M_insert
Definition: profiler_map_to_unordered_map.h:158
float _M_map_cost
Definition: profiler_map_to_unordered_map.h:163
std::size_t _M_find
Definition: profiler_map_to_unordered_map.h:160
std::size_t _M_erase
Definition: profiler_map_to_unordered_map.h:159
float _M_umap_cost
Definition: profiler_map_to_unordered_map.h:162
virtual __gnu_profile::__map2umap_info::~__map2umap_info ( )
inlinevirtual
78 { }
__gnu_profile::__map2umap_info::__map2umap_info ( const __map2umap_info __o)
inline
81  : __object_info_base(__o), _M_insert(__o._M_insert),
82  _M_erase(__o._M_erase), _M_find(__o._M_find),
83  _M_iterate(__o._M_iterate), _M_umap_cost(__o._M_umap_cost),
84  _M_map_cost(__o._M_map_cost), _M_valid(__o._M_valid) { }
std::size_t _M_iterate
Definition: profiler_map_to_unordered_map.h:161
__object_info_base()
Definition: profiler_node.h:126
bool _M_valid
Definition: profiler_map_to_unordered_map.h:164
std::size_t _M_insert
Definition: profiler_map_to_unordered_map.h:158
float _M_map_cost
Definition: profiler_map_to_unordered_map.h:163
std::size_t _M_find
Definition: profiler_map_to_unordered_map.h:160
std::size_t _M_erase
Definition: profiler_map_to_unordered_map.h:159
float _M_umap_cost
Definition: profiler_map_to_unordered_map.h:162

Member Function Documentation

std::string __gnu_profile::__map2umap_info::__advice ( ) const
inline
111  { return "change std::map to std::unordered_map"; }
float __gnu_profile::__map2umap_info::__magnitude ( ) const
inline
107  { return _M_map_cost - _M_umap_cost; }
float _M_map_cost
Definition: profiler_map_to_unordered_map.h:163
float _M_umap_cost
Definition: profiler_map_to_unordered_map.h:162
void __gnu_profile::__map2umap_info::__merge ( const __map2umap_info __o)
inline
88  {
89  _M_insert += __o._M_insert;
90  _M_erase += __o._M_erase;
91  _M_find += __o._M_find;
92  _M_umap_cost += __o._M_umap_cost;
93  _M_map_cost += __o._M_map_cost;
94  _M_valid &= __o._M_valid;
95  }
bool _M_valid
Definition: profiler_map_to_unordered_map.h:164
std::size_t _M_insert
Definition: profiler_map_to_unordered_map.h:158
float _M_map_cost
Definition: profiler_map_to_unordered_map.h:163
std::size_t _M_find
Definition: profiler_map_to_unordered_map.h:160
std::size_t _M_erase
Definition: profiler_map_to_unordered_map.h:159
float _M_umap_cost
Definition: profiler_map_to_unordered_map.h:162
void __gnu_profile::__map2umap_info::__record_erase ( std::size_t  __size,
std::size_t  __count 
)
inline
125  {
126  _M_erase += __count;
127  _M_map_cost += __count * __map_erase_cost(__size);
129  += (__count
130  * _GLIBCXX_PROFILE_DATA(__umap_erase_cost_factor).__value);
131  }
std::size_t __size(__stack_t __stack)
Definition: profiler_node.h:68
#define _GLIBCXX_PROFILE_DATA(__name)
Definition: profiler.h:48
float __map_erase_cost(std::size_t __size)
Definition: profiler_map_to_unordered_map.h:55
float _M_map_cost
Definition: profiler_map_to_unordered_map.h:163
std::size_t _M_erase
Definition: profiler_map_to_unordered_map.h:159
float _M_umap_cost
Definition: profiler_map_to_unordered_map.h:162
void __gnu_profile::__map2umap_info::__record_find ( std::size_t  __size)
inline
135  {
136  _M_find += 1;
138  _M_umap_cost += _GLIBCXX_PROFILE_DATA(__umap_find_cost_factor).__value;
139  }
std::size_t __size(__stack_t __stack)
Definition: profiler_node.h:68
float __map_find_cost(std::size_t __size)
Definition: profiler_map_to_unordered_map.h:60
#define _GLIBCXX_PROFILE_DATA(__name)
Definition: profiler.h:48
float _M_map_cost
Definition: profiler_map_to_unordered_map.h:163
std::size_t _M_find
Definition: profiler_map_to_unordered_map.h:160
float _M_umap_cost
Definition: profiler_map_to_unordered_map.h:162
void __gnu_profile::__map2umap_info::__record_insert ( std::size_t  __size,
std::size_t  __count 
)
inline
115  {
116  _M_insert += __count;
117  _M_map_cost += __count * __map_insert_cost(__size);
119  += (__count
120  * _GLIBCXX_PROFILE_DATA(__umap_insert_cost_factor).__value);
121  }
std::size_t __size(__stack_t __stack)
Definition: profiler_node.h:68
#define _GLIBCXX_PROFILE_DATA(__name)
Definition: profiler.h:48
std::size_t _M_insert
Definition: profiler_map_to_unordered_map.h:158
float _M_map_cost
Definition: profiler_map_to_unordered_map.h:163
float _M_umap_cost
Definition: profiler_map_to_unordered_map.h:162
float __map_insert_cost(std::size_t __size)
Definition: profiler_map_to_unordered_map.h:50
void __gnu_profile::__map2umap_info::__record_invalidate ( )
inline
155  { _M_valid = false; }
bool _M_valid
Definition: profiler_map_to_unordered_map.h:164
void __gnu_profile::__map2umap_info::__record_iterate ( std::size_t  __count)
inline
143  {
144  _M_iterate += __count;
146  += (__count
147  * _GLIBCXX_PROFILE_DATA(__map_iterate_cost_factor).__value);
149  += (__count
150  * _GLIBCXX_PROFILE_DATA(__umap_iterate_cost_factor).__value);
151  }
std::size_t _M_iterate
Definition: profiler_map_to_unordered_map.h:161
#define _GLIBCXX_PROFILE_DATA(__name)
Definition: profiler.h:48
float _M_map_cost
Definition: profiler_map_to_unordered_map.h:163
float _M_umap_cost
Definition: profiler_map_to_unordered_map.h:162
void __gnu_profile::__map2umap_info::__write ( FILE *  __f) const
inlinevirtual

Implements __gnu_profile::__object_info_base.

99  {
100  std::fprintf(__f, "%Zu %Zu %Zu %Zu %.0f %.0f %s\n",
102  _M_umap_cost, _M_valid ? "valid" : "invalid");
103  }
std::size_t _M_iterate
Definition: profiler_map_to_unordered_map.h:161
bool _M_valid
Definition: profiler_map_to_unordered_map.h:164
std::size_t _M_insert
Definition: profiler_map_to_unordered_map.h:158
float _M_map_cost
Definition: profiler_map_to_unordered_map.h:163
std::size_t _M_find
Definition: profiler_map_to_unordered_map.h:160
std::size_t _M_erase
Definition: profiler_map_to_unordered_map.h:159
float _M_umap_cost
Definition: profiler_map_to_unordered_map.h:162

Member Data Documentation

std::size_t __gnu_profile::__map2umap_info::_M_erase
private
std::size_t __gnu_profile::__map2umap_info::_M_find
private
std::size_t __gnu_profile::__map2umap_info::_M_insert
private
std::size_t __gnu_profile::__map2umap_info::_M_iterate
private
float __gnu_profile::__map2umap_info::_M_map_cost
private
float __gnu_profile::__map2umap_info::_M_umap_cost
private
bool __gnu_profile::__map2umap_info::_M_valid
private

The documentation for this class was generated from the following file: