Changeset 116


Ignore:
Timestamp:
Apr 28, 2008, 4:58:48 PM (11 years ago)
Author:
ksherdy
Message:

Update PAPI timing code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/markup_stats.cxx

    r115 r116  
    1717using namespace std;
    1818
    19 #ifdef CODE_CLOCKING
    20 #include "codeclocker/clocker/code_clocker_session.h"
    21 #include "codeclocker/clocker/code_clocker_session.c"
    22 Code_Clocker * total_clocker;
    23 #endif
    24 
    25 
     19#ifdef PAPI
     20#include "../code_clocker/clocker/cc.h"
     21#include "../code_clocker/clocker/cc.cxx"
     22#endif
     23
     24CC * c;
    2625
    2726//#include "src/ilax.h"
     
    2928
    3029#ifndef REPEAT_RUNS
    31 #define REPEAT_RUNS 1
     30#define REPEAT_RUNS 30
    3231#endif
    3332
     
    226225
    227226        preserve_pos = AbsPos();
    228 #ifdef CODE_CLOCKING
    229 end_Interval (total_clocker, buffer_rel_pos);
    230 start_Interval (total_clocker);
    231 #endif
    232227}
    233228
     
    235230template <CodeUnit_Base C>
    236231inline void ParsingEngine<C>::DocumentStart_action() {
    237 #ifdef CODE_CLOCKING
    238 start_Interval (total_clocker);
    239 #endif
    240232}
    241233
    242234template <CodeUnit_Base C>
    243235inline void ParsingEngine<C>::DocumentEnd_action() {
    244 #ifdef CODE_CLOCKING
    245 end_Interval (total_clocker, buffer_rel_pos);
    246 #endif
    247236}
    248237
     
    290279        }
    291280        char * filename = argv[1];
    292 #ifdef CODE_CLOCKING
    293 
    294 init_Code_Clocker_Session(8, // num code clockers
    295                          64096, // max individual timestamp measurements
    296                          4ul, // num session parameters
    297                          65536, // num timestamp calibration measurements,
    298                             65534,// num constant time loop executions
    299                          8 // num constant time loop iterations
    300                          );
    301 set_Session_Cmd_Line_Args(argv[0]);
    302 total_clocker = register_Code_Clocker("Markup_stats_total", "Total markup_stats time\n");
    303 #endif
     281
     282        #ifdef PAPI
     283                #define NUM_EVENTS 2
     284                int Events[NUM_EVENTS] = {PAPI_TOT_CYC, PAPI_BR_MSP};
     285                int cal_size = 1000;
     286                c = new CC(Events,NUM_EVENTS,cal_size);
     287                c->cc_set_cmd(argv[0]);
     288                c->cc_set_param("Mhz","2127.997");
     289        #endif
    304290
    305291        for (int run = 0; run < REPEAT_RUNS; run++) {
    306        
     292        #ifdef PAPI
     293                c->cc_start_interval();
     294        #endif
     295
    307296        parser = Parser_Interface::ParserFactory(filename);
    308297       
    309        
     298        #ifdef PAPI
     299                int elems = 0;
     300                c->cc_end_interval(100);
     301        #endif
     302               
     303        /*             
    310304        if (!parser->has_ByteOrderMark()) printf("No ");
    311305        printf("Byte Order Mark found.\n");
     
    322316                printf("XML standalone = no declared.\n");
    323317        else printf ("XML standalone = no by default.\n");
     318        */
    324319       
    325320        parser->Parse_Prolog();
    326321
    327 //#define VALIDATION
    328 #ifdef VALIDATION
    329         parser->Parse_DocumentContent();
    330 #endif
    331 
    332 #ifndef VALIDATION
    333         parser->ParseContent();
    334 #endif
     322        //#define VALIDATION
     323        #ifdef VALIDATION
     324                parser->Parse_DocumentContent();
     325        #endif
     326       
     327        #ifndef VALIDATION
     328                parser->ParseContent();
     329        #endif
    335330
    336331        parser->~Parser_Interface();
     
    339334       
    340335        }
     336
     337        #ifdef PAPI
     338                c->cc_display();
     339                c->cc_write_xml_file();
     340                c->cc_write_csv_file();
     341                delete c;
     342        #endif 
    341343       
    342344        print_stats("comment", comment_count, comment_length);
     
    355357        print_stats("error item", error_item_count, error_item_length);
    356358        printf("Maximum nesting depth = %i\n", max_nesting_depth);
    357 #ifdef CODE_CLOCKING
    358         write_XML_File();
    359 #endif
    360359       
    361360        return(0);
Note: See TracChangeset for help on using the changeset viewer.