Changeset 506 for trunk/xcache.c


Ignore:
Timestamp:
2008-01-05T05:45:48+01:00 (6 years ago)
Author:
moo
Message:

optimized function_table/class_table by caching hash value

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/xcache.c

    r504 r506  
    622622        xc_constinfo_t *ci = &p->constinfos[i]; 
    623623        xc_install_constant(xce->name.str.val, &ci->constant, 
    624                 UNISW(0, ci->type), ci->key, ci->key_size TSRMLS_CC); 
     624                UNISW(0, ci->type), ci->key, ci->key_size, ci->h TSRMLS_CC); 
    625625    } 
    626626#endif 
     
    630630        xc_funcinfo_t  *fi = &p->funcinfos[i]; 
    631631        xc_install_function(xce->name.str.val, &fi->func, 
    632                 UNISW(0, fi->type), fi->key, fi->key_size TSRMLS_CC); 
     632                UNISW(0, fi->type), fi->key, fi->key_size, fi->h TSRMLS_CC); 
    633633    } 
    634634 
     
    647647#endif 
    648648        xc_install_class(xce->name.str.val, &ci->cest, ci->oplineno, 
    649                 UNISW(0, ci->type), ci->key, ci->key_size TSRMLS_CC); 
     649                UNISW(0, ci->type), ci->key, ci->key_size, ci->h TSRMLS_CC); 
    650650    } 
    651651 
     
    656656        /* 
    657657        zend_auto_global *auto_global; 
    658         if (zend_u_hash_find(CG(auto_globals), aginfo->type, aginfo->key, aginfo->key_len+1, (void **) &auto_global)==SUCCESS) { 
     658        if (zend_u_hash_quick_find(CG(auto_globals), aginfo->type, aginfo->key, aginfo->key_len+1, aginfo->h, (void **) &auto_global)==SUCCESS) { 
    659659            if (auto_global->armed) { 
    660660                auto_global->armed = auto_global->auto_global_callback(auto_global->name, auto_global->name_len TSRMLS_CC); 
     
    10871087        }                                                     \ 
    10881088        data->key_size   = b->nKeyLength;                     \ 
     1089        data->h          = b->h;                              \ 
    10891090    }                                                         \ 
    10901091} while(0) 
     
    11191120                } 
    11201121                data->key_len = b->nKeyLength - 1; 
     1122                data->h       = b->h; 
    11211123            } 
    11221124        } 
Note: See TracChangeset for help on using the changeset viewer.