Changeset 2855


Ignore:
Timestamp:
Jan 27, 2013, 9:58:20 PM (6 years ago)
Author:
ksherdy
Message:

Modified gml2svg app to support fine-grained application PMC events.

Location:
proto/gml2svg/C/xerces
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • proto/gml2svg/C/xerces/gml2svg.cpp

    r2845 r2855  
    1313#include <sstream>
    1414#include <perfsec.h>
     15
     16#include <cc.h>
     17//#include <cc.cxx>
     18
     19
    1520#include "gml2svg_handler.hpp"
    1621#include <gml2svg/vancouver_constants.h>
     
    2429extern int errno;
    2530
     31
     32
    2633#include <iostream>
    2734using namespace std;
     
    4249int main (int argc, char* argv[]) {
    4350
    44         PERF_SEC_BIND(128);
     51//       PERF_SEC_BIND(3);
    4552
    4653        char * gml_src_dir_path = NULL;
     
    115122        catch (const XMLException& toCatch) {
    116123
    117                 char* message = XMLString::transcode(toCatch.getMessage());
     124            char* message = XMLString::transcode(toCatch.getMessage());
    118125            cout << "Error during initialization! :\n";
    119126            cout << "Exception message is: \n"
     
    129136
    130137        #if defined (PAPI)
    131 
    132        
    133 
    134138                #define PAPI_EVENTS_COUNT 1
    135139                // int papi_event = PAPI_TOT_CYC;
     
    220224                {
    221225
    222       PERF_SEC_START(timer);
     226
     227
     228
     229                        #ifdef CC_APP
     230                              defaultHandler->SetPerfTimer(timer);
     231                        #else
     232                              PERF_SEC_START(timer);
     233                        #endif
     234
     235
    223236                        /* parse */
    224237                        try {
     
    271284                        }
    272285
    273                         PERF_SEC_END(timer, fileinfo.st_size);
     286                        #ifdef CC_APP
     287                                defaultHandler->SetPerfElems(fileinfo.st_size);
     288                        #else
     289                                PERF_SEC_END(timer, fileinfo.st_size);
     290                        #endif
     291
    274292
    275293                        if(SHOW_ITERATION_RESULTS)
     
    303321        fprintf(stdout,"\nProcessing complete.\n\n");
    304322
    305         PERF_SEC_DUMP(timer);
     323        //PERF_SEC_DUMP(timer);
     324       
    306325        PERF_SEC_WRITE(timer);
    307326
     
    311330        if(svg_filename) {delete [] svg_filename;}
    312331
    313   delete parser;
     332        delete parser;
    314333        delete defaultHandler;
    315334
  • proto/gml2svg/C/xerces/gml2svg_handler.cpp

    r2493 r2855  
    66 */
    77
     8
     9
    810#ifndef SAX2_GML2SVG_HANDLER_CPP_
    911#define SAX2_GML2SVG_HANDLER_CPP_
     12
     13//#include <perfsec.h>
     14#include <cc.cxx>
     15
     16
    1017
    1118#include "gml2svg_handler.hpp"
     
    95102}
    96103
     104
     105
     106
    97107// ---------------------------------------------------------------------------
    98108//  GML2SVGHandler: Implementation of the SAX DocumentHandler interface
     
    102112
    103113        #ifndef TARE_TIME
     114       
     115        #ifdef CC_APP
     116        timer->start_interval();
     117        #endif
    104118
    105119        this->_in_feature = false;
     
    295309        #endif
    296310
     311
     312        #ifdef CC_APP
     313        timer->end_interval(0);
     314        #endif
     315
    297316        #endif
    298317}
     
    301320
    302321        #ifndef TARE_TIME
     322
     323        #ifdef CC_APP
     324        timer->start_interval();
     325        #endif
    303326
    304327#if defined(NAIVE_FORMATTED_IO)
     
    317340#endif
    318341
     342
     343        #ifdef CC_APP
     344        timer->end_interval(0);
     345        #endif
     346
    319347        #endif
    320348}
     
    325353
    326354        #ifndef TARE_TIME
     355
     356        #ifdef CC_APP
     357        timer->start_interval();
     358        #endif
    327359
    328360        if (this->_in_feature) //van:featurelname//gml:geometry//gml:coordinates
     
    414446        }
    415447
     448        #ifdef CC_APP
     449        timer->end_interval(0);
     450        #endif
     451
    416452        #endif
    417453}
     
    422458        #ifndef TARE_TIME
    423459
     460        #ifdef CC_APP
     461        timer->start_interval();
     462        #endif
     463
    424464        if (this->_in_gml_coordinates) {
    425465                this->_coordinates_buffer.push_back(XMLString::transcode(chars));
    426466        }
    427467
     468        #ifdef CC_APP
     469        timer->end_interval(0);
     470        #endif
     471
    428472        #endif
    429473}
     
    433477
    434478        #ifndef TARE_TIME
     479
     480        #ifdef CC_APP
     481        timer->start_interval();
     482        #endif
    435483
    436484        if (this->_in_gml_coordinates) {
     
    576624        }
    577625
     626        #ifdef CC_APP
     627        timer->end_interval(0);
     628        #endif
     629
    578630        #endif
    579631}
  • proto/gml2svg/C/xerces/gml2svg_handler.hpp

    r1911 r2855  
    66*/ 
    77
     8
    89#ifndef SAX2_GML2SVG_HANDLER_HPP_
    910#define SAX2_GML2SVG_HANDLER_HPP_
     11
     12#include <perfsec.h>
     13
     14#include <cc.h>
    1015
    1116#include <xercesc/sax2/Attributes.hpp>
     
    2328        ~GML2SVGHandler();
    2429
     30#ifdef CC_APP
     31void SetPerfTimer(CC * timer) {
     32        this->timer = timer;
     33}
     34
     35void SetPerfElems(size_t elems) {
     36        this->elems = elems;
     37}
     38#endif
    2539        void startDocument();
    2640       
     
    105119               
    106120        vector <char *> _coordinates_buffer;
     121
     122#ifdef CC_APP
     123        CC * timer;
     124        size_t elems;
     125#endif
    107126       
    108127};
Note: See TracChangeset for help on using the changeset viewer.