Changeset 1231 for proto/SymbolTable


Ignore:
Timestamp:
Jul 28, 2011, 11:50:46 AM (8 years ago)
Author:
vla24
Message:

Updated symbol table implementation: we are no longer using different implementation for symbol length 17-32 and symbol longer than 32 characters

Location:
proto/SymbolTable
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • proto/SymbolTable/Makefile

    r1228 r1231  
    1111SYMBOLTABLE_LS_TEMPLATE=symtab_ls_template.cpp
    1212HASH_SYMBOLTABLE_TEMPLATE=symtab_hash_template.cpp
     13SYMBOLTABLE_IDENTITY_TEMPLATE=symtab_identity_template.cpp
    1314PBGS_SYMBOLTABLE_TEMPLATE=symtab_pbgs_template.cpp
    1415PBGS_SYMBOLTABLE_LOG_TEMPLATE=symtab_pbgs_log_template.cpp
     
    2627        python $(PABLO_COMPILER) $(PABLO_SRCFILE) -t $(HASH_SYMBOLTABLE_TEMPLATE) -o $(OUTFILE)
    2728
    28 symtab_pbgs:    $(PABLO_SYMTAB_PBS) # Paralel bitstream based group sorting
     29symtab_id:      $(PABLO_SRCFILE) # Paralel bitstream based group sorting
     30        python $(PABLO_COMPILER) $(PABLO_FLAGS) $(PABLO_SRCFILE) -t $(SYMBOLTABLE_IDENTITY_TEMPLATE) -o $(OUTFILE)
     31
     32symtab_pbgs_id: $(PABLO_SYMTAB_PBS) # Paralel bitstream based group sorting
    2933        python $(PABLO_COMPILER) $(PABLO_FLAGS) $(PABLO_SYMTAB_PBS) -t $(PBGS_SYMBOLTABLE_TEMPLATE) -o $(OUTFILE)
    3034
    31 symtab_pbgs_adv:$(PABLO_SYMTAB_PBS_ADV) # Paralel bitstream based group sorting using Advance32 and Interpose32
     35symtab_pbgs_id_adv:$(PABLO_SYMTAB_PBS_ADV) # Paralel bitstream based group sorting using Advance32 and Interpose32
    3236        python $(PABLO_COMPILER) $(PABLO_FLAGS) $(PABLO_SYMTAB_PBS_ADV) -t $(PBGS_SYMBOLTABLE_TEMPLATE) -o $(OUTFILE)
    3337
  • proto/SymbolTable/README_SymbolTable

    r1228 r1231  
    2828Data structure          : lib/symtab/pbgs_identity_symbol_table.h
    2929There are 2 different implementations:
    30   a. We evaluate the bitstreams using interpose32 and advance32. This implementation is slower than the other one.
    31      To compile         : make symtab_pbgs_adv
     30  a. We evaluate the bitstreams using interpose32 and advance32.
     31     To compile         : make symtab_pbgs_id_adv
    3232  b. We evaluate the bitstreams using one shift right for each bitutil.advance call
    33      To compile         : make symtab_pbgs
     33     To compile         : make symtab_pbgs_id
    3434
    35352. USE_LOG_SORT         f(L) = log(L)
  • proto/SymbolTable/automate-build.sh

    r1228 r1231  
    1 make symtab_hash
     1make symtab_id
    22cd src
    33make all
  • proto/SymbolTable/symtab_pbgs_div_template.cpp

    r1228 r1231  
    11#define USE_FUNCTION_TEMPLATES
    22#define TEMPLATED_SIMD_LIB
    3 #define USE_DIV_SORT
    43
    54#define DEBUG 0
  • proto/SymbolTable/symtab_pbgs_log_template.cpp

    r1228 r1231  
    11#define USE_FUNCTION_TEMPLATES
    22#define TEMPLATED_SIMD_LIB
    3 #define USE_LOG_SORT
    43
    54#define USE_MASK_COMPARE    //Comparison using masking technique.
     
    220219    int gid = 0;
    221220
    222     if (lgth > 32)
    223     {
    224         gid = pbgs_symbol_table.Lookup_or_Insert_Name_32(source + start, hashvalue, lgth);
    225     }
    226     else
     221//    if (lgth < 32)
     222//    {
     223//      gid = pbgs_symbol_table.Lookup_or_Insert_Name_32(source + start, hashvalue, lgth);
     224//    }
     225//    else
    227226    {
    228227        gid = pbgs_symbol_table.Lookup_or_Insert_Name(source + start, hashvalue, lgth);
  • proto/SymbolTable/symtab_pbgs_template.cpp

    r1228 r1231  
    11#define USE_FUNCTION_TEMPLATES
    22#define TEMPLATED_SIMD_LIB
    3 #define USE_IDENTITY_SORT
    43
    54#define DEBUG 0
Note: See TracChangeset for help on using the changeset viewer.