[AccessD] Missing references

William Hindman wdhindman at dejpolsystems.com
Fri Feb 16 10:38:54 CST 2007


DREW, are you listening? :))))

William Hindman

----- Original Message ----- 
From: "JWColby" <jwcolby at colbyconsulting.com>
To: "'Access Developers discussion and problem solving'" 
<accessd at databaseadvisors.com>
Sent: Friday, February 16, 2007 10:44 AM
Subject: Re: [AccessD] Missing references


> Excuse me, I misspoke.  The reference is resolved at the SET statement, 
> not
> the dim statement.
>
> (flogging self with a cat-o-nines)
>
> John W. Colby
> Colby Consulting
> www.ColbyConsulting.com
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of JWColby
> Sent: Friday, February 16, 2007 10:39 AM
> To: 'Access Developers discussion and problem solving'
> Subject: Re: [AccessD] Missing references
>
> It is quantifiable.  I have a class for timing things and you can do late
> binding vs. early binding in a loop a million times to measure the effects
> of each.  Essentially binding requires the compiler to look up the object 
> in
> an object table to obtain the pointer to the object as well as the
> parameters, their types, the return type if any etc.  Early binding does
> that at compile time, once.  Late binding does the exact same thing at run
> time, every time the object is resolved.
>
> The question is, how often is it done?  For example, if you have a global
> reference to a word object, at runtime the object has to be resolved, but
> since it is a global variable, it is only resolved once, and so the hit is 
> a
> once-off affair.
>
> Now take the example of a reference to a word object in the header of a
> class module.  Now this has to be done once, every time the class loads, 
> for
> each instance of the class loading.
>
> Now take the example of a reference to a cell in a spreadsheet dimensioned
> in a method of a class.  The object has to be resolved every time the
> function is called.  That may be once, or it may be hundreds or thousands 
> of
> times.
>
> Notice that in ALL cases, the object is resolved ONCE for each dimension
> statement.  The difference between these three examples is the LOCATION of
> the dimension statement.
>
> It is actually possible in VBA to dimension an object down in code, so you
> could literally dimension an object inside of a loop.  Generally speaking
> that would be a disaster using late binding.
>
> Actually dimensioning a variable of any kind down in the middle of code is
> considered bad practice anyway.
>
> DREW are you listening?
>
> Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.
> Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.
> Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.
> Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.
> Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.
> Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.  Bad Practice.
> Bad Practice.
>
> <HUGE grin>
>
> John W. Colby
> Colby Consulting
> www.ColbyConsulting.com
>
> -----Original Message-----
> From: accessd-bounces at databaseadvisors.com
> [mailto:accessd-bounces at databaseadvisors.com] On Behalf Of 
> artful at rogers.com
> Sent: Friday, February 16, 2007 10:21 AM
> To: Access Developers discussion and problem solving
> Subject: Re: [AccessD] Missing references
>
> Is this verifiable, Jim? I haven't ever used late-binding, which I admit 
> has
> caused various installation issues, but I am curious. Is this a thumbnail
> calculation or can you supply concrete arithmetical evidence?
>
> A.
>
>
>
> ----- Original Message ----
> From: Jim Dettman <jimdettman at verizon.net>
> To: Access Developers discussion and problem solving
> <accessd at databaseadvisors.com>
> Sent: Friday, February 16, 2007 9:49:44 AM
> Subject: Re: [AccessD] Missing references
>
>
> Bryan,
>
>  One thing you didn't mention is the performance hit; late binding costs
> you 10-15% for every operation perform.
>
> Jim.
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
> --
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
>
> -- 
> AccessD mailing list
> AccessD at databaseadvisors.com
> http://databaseadvisors.com/mailman/listinfo/accessd
> Website: http://www.databaseadvisors.com
> 







More information about the AccessD mailing list