> 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

Reply via email to