Changeset 2611 for proto/CSV


Ignore:
Timestamp:
Nov 5, 2012, 4:46:41 PM (7 years ago)
Author:
linmengl
Message:

finish test with PERF_SEC

Location:
proto/CSV/csv2xml
Files:
2 added
8 edited

Legend:

Unmodified
Added
Removed
  • proto/CSV/csv2xml/QA/comp.sh

    r2597 r2611  
    1414(cd ..; bash ./build.sh) # use a seperate process, won't affect the following command.
    1515# xmlsh -c "csv2xml $flag $csvfile > $stdout"
    16 time ../src/csv $flag $csvfile $myout
     16../src/csv $flag $csvfile $myout
    1717
    1818# vimdiff $stdout $myout
  • proto/CSV/csv2xml/QA/test.sh

    r2597 r2611  
     1#Blackbox tests, compare results with _std output.
    12(cd ..; bash build.sh)
    23echo "-----"
  • proto/CSV/csv2xml/Report.txt

    r2597 r2611  
    4141
    4242Appendix I:
    43 Change all string into direct output
     43Change all strings into direct output
     44
     45L2_2012-01       (103.2MB) 16.761s  0.560s
     46L2_2012-02       (130.5MB) 20.117s  0.812s
     47gen1000          (28MB)    7.480s   0.564s
     48gen10000         (280MB)   59.472s  6.116s
    4449
    4550L2_2012-01       (103.2MB) 16.761s  0.868s
  • proto/CSV/csv2xml/build.sh

    r2588 r2611  
    77cd src/
    88rm -f csv
    9 make
     9make $1
  • proto/CSV/csv2xml/pablo_template.cpp

    r2597 r2611  
    134134    FILE *outfile = fopen(outfilename, "w");
    135135
     136    PERF_SEC_BIND(1);
     137
     138    PERF_SEC_INIT(parser_timer);
     139
    136140    do_process(infile, outfile);
     141
     142    PERF_SEC_DUMP(parser_timer);
     143
     144    PERF_SEC_DESTROY(parser_timer);
    137145
    138146    fclose(infile);
     
    286294    while ((count = fread(src_buffer, sizeof(uint8_t), BLOCK_SIZE, infile)) > 0)
    287295    {
     296        PERF_SEC_START(parser_timer);
     297
    288298        if (count < BLOCK_SIZE)
    289299        {
     
    304314        }
    305315
    306         // print_register<BitBlock>("escape", marker.escape);
    307         // print_register<BitBlock>("quote", marker.quote);
    308         // print_register<BitBlock>("quote_mask", marker.quote_mask);
    309         // print_register<BitBlock>("delim", marker.delim);
    310         // print_register<BitBlock>("eol", marker.eol);
    311         // print_register<BitBlock>("and", lex.AndSymbol);
     316        PERF_SEC_END(parser_timer, count);
    312317
    313318        BufferToXMLParser bufParser(marker, lex, src_buffer, &writer);
  • proto/CSV/csv2xml/src/Makefile

    r2597 r2611  
    2222all:    $(SRCFILE)
    2323        $(CC) -o $(OUTFILE) $(SRCFILE) $(INCLUDES) $(AFLAGS)
     24
     25perf:   $(SRCFILE)
     26        $(CC) -o $(OUTFILE) $(SRCFILE) $(INCLUDES) $(AFLAGS) -DBUFFER_PROFILING
  • proto/CSV/csv2xml/src/csv.cpp

    r2597 r2611  
    326326    FILE *outfile = fopen(outfilename, "w");
    327327
     328    PERF_SEC_BIND(1);
     329
     330    PERF_SEC_INIT(parser_timer);
     331
    328332    do_process(infile, outfile);
     333
     334    PERF_SEC_DUMP(parser_timer);
     335
     336    PERF_SEC_DESTROY(parser_timer);
    329337
    330338    fclose(infile);
     
    486494    while ((count = fread(src_buffer, sizeof(uint8_t), BLOCK_SIZE, infile)) > 0)
    487495    {
     496        PERF_SEC_START(parser_timer);
     497
    488498        if (count < BLOCK_SIZE)
    489499        {
     
    508518        }
    509519
    510         // print_register<BitBlock>("escape", marker.escape);
    511         // print_register<BitBlock>("quote", marker.quote);
    512         // print_register<BitBlock>("quote_mask", marker.quote_mask);
    513         // print_register<BitBlock>("delim", marker.delim);
    514         // print_register<BitBlock>("eol", marker.eol);
    515         // print_register<BitBlock>("and", lex.AndSymbol);
     520        PERF_SEC_END(parser_timer, count);
    516521
    517522        BufferToXMLParser bufParser(marker, lex, src_buffer, &writer);
  • proto/CSV/csv2xml/util/csv2xmlwriter.hpp

    r2597 r2611  
    44Helper class to write down xml file from csv input
    55*/
    6 
    76#include <cstdio>
    87#include <cstring>
    98#include <cstdlib>
    10 using namespace std;
     9
     10const int NO_FILE_OUTPUT = 1;
    1111
    1212class Csv2XmlWriter
     
    1717    int _colStarted;
    1818    int _needClose;
     19    unsigned int _outCount;
     20
     21    void printString(const char *s)
     22    {
     23        if (NO_FILE_OUTPUT)
     24            _outCount += strlen(s);
     25        else
     26            fprintf(_fout, "%s", s);
     27    }
    1928
    2029public:
     
    8089        _rowDepth = 0;
    8190        _colDepth = 0;
     91        _outCount = 0;
    8292    }
    8393
    8494    inline void writeContent(char* fullColumnContent)
    8595    {
    86         fprintf(_fout, "%s", fullColumnContent);
     96        printString(fullColumnContent);
    8797    }
    8898
    8999    inline void writeRootStart()
    90100    {
    91         fprintf(_fout, "<root>\n");
     101        printString("<root>\n");
    92102    }
    93103
    94104    inline void writeRootEnd()
    95105    {
    96         fprintf(_fout, "</root>\n");
     106        printString("</root>\n");
    97107    }
    98108
    99109    inline void writeRowStart()
    100110    {
    101         fprintf(_fout, "   <row>\n");
     111        printString("   <row>\n");
    102112        _rowDepth++;
    103113        _rowStarted = 1;
     
    108118        if (_rowDepth)
    109119        {
    110             fprintf(_fout, "   </row>\n");
     120            printString("   </row>\n");
    111121            _rowDepth--;
    112122        }
     
    121131        }
    122132
    123         fprintf(_fout, "      <col>");
     133        printString("      <col>");
    124134        _colDepth ++;
    125135        _colStarted = 1;
     
    130140        if (_colDepth)
    131141        {
    132             fprintf(_fout, "</col>\n");
     142            printString("</col>\n");
    133143            _colDepth--;
    134144        }
Note: See TracChangeset for help on using the changeset viewer.