This is the mail archive of the libstdc++@gcc.gnu.org mailing list for the libstdc++ project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

profile mode: statistics for vector and map


Hi,

The attached patch offers a start at the Statistics aspect of
libstdc++ profile mode. So far it implements vector and map statistics
for size (redundant/deprecates existing vector size) and common
operation counts. There are macros for turning on/off the vector and
map statistics individually, e.g.
_GLIBCXX_PROFILE_NO_VECTOR_STATISTICS and _NO_MAP_STATISTICS.

Some improvements could be made still or remain for the future, such as:
* Use the _GLIBCXX_PROFILE_STATISTICS flag to turn on/off all statistics
* Cost heuristics or high resolution timers to get the costs of operations
* There were some problems with iterators, though I forget the specifics.
* More containers supported and tested.

I have not done extensive testing on this version of the code. This
work was done previously on 4.7.1 with x86_64. I made some effort to
rebase this patch from Francois' unordered map patch. Hopefully there
are no conflicts remaining.

2013-05-07  Gedare Bloom <gedare@rtems.org>

    * include/profile/impl/profiler_container_statistics.h: New.
    * include/profile/impl/profiler_vector_statistics.h: New.
    * include/profile/impl/profiler_map_statistics.h: New.
    * include/Makefile.am: Add new profile headers.
    * include/Makefile.in: Regenerate.
    * include/profile/impl/profiler.h: New macros for
    __profcxx_vector_statistics and __profcxx_map_statistics.
    * include/profile/impl/profiler_trace.h: Class and function declarations
    for std::profile::__trace_vector_statistics and
    std::profile::__trace_map_statistics.
    * include/profile/map.h: Use __profcxx_map_statistics macros.
    * include/profile/vector: Use __profcxx_vector_statistics macros.

Attachment: 0001-profile-mode-Add-Statistics-for-vector-and-map.patch
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]