> If you are asking about runtime speed overhead caused by longer variable > names then there is no difference if you are using shorter or smaller > variables names. LOCAL variable names are not stored in final binaries > at all (with the exception to code emitted for debugger with -b switch)
For LOCALs, ok. They have a certain visibility and the compiler can create optimized code. For PRIVATE/PUBLIC... I can create these variables at runtime using macros or internal calls... > and PUBLIC, PRIVATE, FILED variables are not accessed by name but using > pointers to symbol table Sorry, just to have more infos.. Imagine a PUBLIC variable created at runtime; in this case the compiler can't refer directly to symbol table position but must lookup the variable name at runtime somehow... I may understand from your words that harbour creates a local symbol table with only the variable names and then does a "runtime binding" when entering the function.... in this way it can handle visibility PUBLIC/PRIVATE... In this way, in the pcode harbour only references "position 1 in the symbol table" and it will be runtime engine to fill it with correct values (or pointers to correct values....) I imagine it is more complicated than this, I just wanted to validate the general idea.... Francesco _______________________________________________ Harbour mailing list (attachment size limit: 40KB) [email protected] http://lists.harbour-project.org/mailman/listinfo/harbour
