Delay in program start w/HASHED_DICTIONARY usage

Jeremy @ Cowgar jeremy at cowgar.com
Fri Jul 31 13:23:07 UTC 2009


Hello Xavier,

  Um,   wow.   That's   quite   some  C  code!  I  saw  references  to
  HASHED_DICTIONARY  in  main, but what it's doing, I don't know. Here
  is the main function:

int main(int argc,char **argv)
{
  __POINTER__EB ptr__BD,__tmp__HD,__tmp__VSJ,__tmp__XSJ,__tmp__0SJ;
  __POINTER__EB __tmp__QLJ,__tmp__SFB,__tmp__HGB,__tmp__01,result__D5;
  __POINTER__EB __tmp__0MJ,__tmp__P5,__tmp__T5,__tmp__RDC,__tmp__0DB;
  __POINTER__EB __tmp__WEB,__tmp__0PF,siz__2OF,__tmp__1PF;
  __INTEGER__M typ_id__FD,Self__EMC;
  __UINTEGER_32__AE __tmp__YSJ,__tmp__LE,__tmp__TEB,idx__NUD;
  __MEMORY__3D *result__MUD,*__tmp__JWD,*Self__ZOF,*prev__RWF,*next__SWF;
  __MEMORY__3D *__tmp__NQF;
  void **Result__M1;
  arg_count  = argc;
  arg_vector = argv;
#ifdef _PTHREAD_H
  pthread_key_create(&current_thread, NULL);
  pthread_attr_init(&thread_attr);
  /*pthread_attr_setdetachstate(&thread_attr,PTHREAD_CREATE_DETACHED);*/
#endif
  ;
  clone_allocation_size__TD=((__POINTER__EB )(NULL));
  nb_page__IVB= 0;
  MEMORY__3D__->size_and_id__CE= 0;
  capacity_max__DXD=((__POINTER__EB )(NULL));
  begin_memory__AMB=((__POINTER__EB )(NULL));
  MEMORY__3D__->previous_linear__5D=((__POINTER__EB )(NULL));
  ptr__BD=((__POINTER__EB )(NULL));
  typ_id__FD= 0;
  __tmp__HD=((__POINTER__EB )sizeof(__HASHED_DICTIONARYoABSTRACT_STRINGxABSTRACT_STRINGo__SB));
  if ((__tmp__HD !=  0)) {
    typ_id__FD=__HASHED_DICTIONARYoABSTRACT_STRINGxABSTRACT_STRINGo__SB__;
    clone_allocation_size__TD=(void *)((unsigned long)clone_allocation_size__TD - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__HD));
    if ((typ_id__FD == (__INTEGER__M)(-  1))) {
      (&__string_1)->storage__3B="Memory: Size bound.";
      __tmp__VSJ=(void *)((unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *)))) - (unsigned long)((__POINTER__EB ) 1));
      __tmp__XSJ=(void *)((unsigned long)(void *)((unsigned long)__tmp__HD - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__VSJ)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__VSJ) - (unsigned long)((__POINTER__EB ) 1)));
      (&__string_2)->storage__3B="Memory: Alignment.";
      __tmp__YSJ=((__UINTEGER_32__AE )((__INTEGER__M )(void *)((unsigned long)__tmp__XSJ / (unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *)))))));
      (&__string_3)->storage__3B="Memory: Bound table_size.";
      __tmp__0SJ=micro_alloc__table__lab__FKB(__tmp__XSJ,((__POINTER__EB )(&(table_size[(__tmp__YSJ)-1]))),((__UINTEGER_32__AE )((__INTEGER__M )__tmp__XSJ)));
      ptr__BD=__tmp__0SJ;
    } else /* FALSE */ {
      __tmp__LE=((__UINTEGER_32__AE )typ_id__FD);
      __tmp__QLJ=(void *)((unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *)))) - (unsigned long)((__POINTER__EB ) 1));
      __tmp__SFB=(void *)((unsigned long)(void *)((unsigned long)__tmp__HD - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__QLJ)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__QLJ) - (unsigned long)((__POINTER__EB ) 1)));
      __tmp__HGB=micro_alloc__table__lab__FKB(__tmp__SFB,((__POINTER__EB )(&(table_type[(__tmp__LE)]))),(__UINTEGER_32__AE)(__tmp__LE |  1));
      ptr__BD=__tmp__HGB;
    };
    *(((__HASHED_DICTIONARYoABSTRACT_STRINGxABSTRACT_STRINGo__SB *)ptr__BD)) = *(HASHED_DICTIONARYoABSTRACT_STRINGxABSTRACT_STRINGo__SB__);
  };
  __tmp__01=((__POINTER__EB )(__INTEGER__M)( 193 * ((__INTEGER__M )(sizeof(void *)))));
  result__D5=((__POINTER__EB )(NULL));
  __tmp__0MJ=(void *)((unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *)))) - (unsigned long)((__POINTER__EB ) 1));
  __tmp__P5=(void *)((unsigned long)(void *)((unsigned long)__tmp__01 - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__0MJ)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__0MJ) - (unsigned long)((__POINTER__EB ) 1)));
  __tmp__T5=(void *)((unsigned long)__tmp__P5 - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *))))));
  if ((__tmp__T5 <= ((__POINTER__EB )(MINIMUM_SIZE)))) {
    __tmp__RDC=(void *)((unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *)))) - (unsigned long)((__POINTER__EB ) 1));
    __tmp__0DB=(void *)((unsigned long)(void *)((unsigned long)__tmp__T5 - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__RDC)) & (unsigned long)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__RDC) - (unsigned long)((__POINTER__EB ) 1)));
    __tmp__TEB=((__UINTEGER_32__AE )((__INTEGER__M )(void *)((unsigned long)__tmp__0DB / (unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *)))))));
    __tmp__WEB=micro_alloc__table__lab__FKB(__tmp__0DB,((__POINTER__EB )(&(table_size[(__tmp__TEB)-1]))),((__UINTEGER_32__AE )((__INTEGER__M )__tmp__0DB)));
    ((__POINTER__EB *)__tmp__WEB)[ 0]=((__POINTER__EB ) 3);
    result__D5=(void *)((unsigned long)__tmp__WEB - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB )((__INTEGER__M )(sizeof(void *))))));
  } else /* FALSE */ {
    result__MUD=first_free__LVD;
    while ((((void *)result__MUD != (void *)NULL) && (((__POINTER__EB )(__UINTEGER_32__AE)(((__MEMORY__3D *)result__MUD)->size_and_id__CE &  4294967292LU)) < __tmp__P5))) {
      result__MUD=result__MUD->next_free__DE;
    };
    if (((void *)result__MUD == (void *)NULL)) {
      __tmp__JWD=new_page__1WD();
      result__MUD=__tmp__JWD;
    };
    idx__NUD=(__UINTEGER_32__AE)(((__UINTEGER_32__AE )((unsigned int)((void *)((unsigned long)((__POINTER__EB )((__MEMORY__3D *)result__MUD)) - (unsigned long)begin_memory__AMB)))) >>  26);
    Self__ZOF=((__MEMORY__3D *)result__MUD);
    prev__RWF=Self__ZOF->previous_free__EE;
    next__SWF=Self__ZOF->next_free__DE;
    if (((void *)prev__RWF == (void *)NULL)) {
      first_free__LVD=next__SWF;
    } else /* FALSE */ {
      ((__MEMORY__3D *)prev__RWF)->next_free__DE=next__SWF;
    };
    if (((void *)next__SWF != (void *)NULL)) {
      ((__MEMORY__3D *)next__SWF)->previous_free__EE=prev__RWF;
    };
    __tmp__0PF=((__POINTER__EB )Self__ZOF->size_and_id__CE);
    siz__2OF=__tmp__0PF;
    __tmp__1PF=(void *)((unsigned long)__tmp__0PF - (unsigned long)__tmp__P5);
    if ((__tmp__1PF > (void *)((unsigned long)(void *)((unsigned long)((__POINTER__EB )(MINIMUM_SIZE)) - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB ) 2))) - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB ) 8))))) {
      siz__2OF=__tmp__P5;
      __tmp__NQF=((__MEMORY__3D *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__EB )Self__ZOF) - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)__tmp__P5)));
      __tmp__NQF->previous_linear__5D=(void *)((unsigned long)((__POINTER__EB )Self__ZOF) - (unsigned long)begin_memory__AMB);
      __tmp__NQF->size_and_id__CE=(__UINTEGER_32__AE)(((__UINTEGER_32__AE )((unsigned int)(__tmp__1PF))) -  8);
      __tmp__NQF->next_free__DE=first_free__LVD;
      __tmp__NQF->previous_free__EE=NULL;
      if (((void *)first_free__LVD != (void *)NULL)) {
        ((__MEMORY__3D *)first_free__LVD)->previous_free__EE=__tmp__NQF;
      };
      first_free__LVD=__tmp__NQF;
      if (((__UINTEGER_32__AE)(__tmp__NQF->size_and_id__CE &  2) !=  0)) {
        last_block[(idx__NUD)] = (__tmp__NQF);
      } else /* FALSE */ {
        ((__MEMORY__3D *)(void *)((unsigned long)(void *)((unsigned long)((__POINTER__EB )__tmp__NQF) - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB ) 8))) - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB )(__UINTEGER_32__AE)(__tmp__NQF->size_and_id__CE &  4294967292LU)))))->previous_linear__5D=(void *)((unsigned long)((__POINTER__EB )__tmp__NQF) - (unsigned long)begin_memory__AMB);
      };
    };
    Self__ZOF->size_and_id__CE=(__UINTEGER_32__AE)(((__UINTEGER_32__AE )((unsigned int)(siz__2OF))) |  1);
    result__D5=(void *)((unsigned long)((__POINTER__EB )((__MEMORY__3D *)result__MUD)) - (unsigned long)(void *)((unsigned long)((__POINTER__EB ) 0) - (unsigned long)((__POINTER__EB ) 8)));
  };
  Result__M1=((void **)result__D5);
  Self__EMC= 192;
  while ((Self__EMC >=  0)) {
    Result__M1[Self__EMC]=NULL;
    Self__EMC=(__INTEGER__M)(Self__EMC -  1);
  };
  puts(("Hello, World!"));
  return(0);
}


Jeremy
mailto:jeremy at cowgar.com

============
Friday, July 31, 2009, 9:16:10 AM, you wrote:

> On 09:14 Fri 31 Jul     , Jeremy @ Cowgar wrote:
>> Hello Xavier,
>> 
>>   Further,  why a 1-2 second delay just to create a hashed dictionary?
>>   Even  if  it were not dead code, there shouldn't be such a noticeable
>>   delay.

> Right !

> Can you have a look at the produced C code if there is something linked to the
> this dictionnary ... ? Looking in the main() is enough..




More information about the Lisaac-devel mailing list