I have two comments on this:

1) with today's computer's, the speed issue shouldn't be an issue at all.
Unless you are doing something inside a loop over thousands of iterations,
on multiple websites (hosted on the same server) at the same time, the
performance hit should be very minor.  If you are looping through thousands
of iterations, you expect a delay anyways.

2) Why not offer a simple merged solution?  i.e. have CF Server
automatically lock any variables, unless the developer has explitly stated a
lock beforehand.

You're example would be an instance when the developer has not explitly
locked anything, whereas if they had done something like this:

<cflock....>
<cfloop ...>
        <cfset session.x = ...>
        <cfset session.y = ...>
</cfloop>
</cflock>

Then the developer has explitly stated where to start/end the lock.
However, if they hadn't, then everything would still run properly because
there would be an inherent lock.  And then they are responsible for the
corresponding performance hit (if any).  The logic to do this sort of coding
should be very simple.

As for myself, I currently set my servers to automagically lock all reads of
application and session variables.  Keeps my code very clean when I'm only
reading elements (99% of my use of session variables).

My 2 cents worth....

Shawn Grover
-----Original Message-----
From: Raymond Camden [mailto:[EMAIL PROTECTED]]
Sent: Monday, March 18, 2002 1:26 PM
To: CF-Talk
Subject: RE: UDF question


(Taking off Macromedia cap and speaking as just one of yall...)
The question is - do you want CF to automatically handle everything for
you at the sacrifice of speed? Here is a good example:

<cfset session.x = 1>
<cfset session.y = 2>
<cfloop ...>
        <cfset session["foo#x#" = >
</cfloop>

If CF had to auto lock this, it would need to use:

<cflock ..>
        <cfset session.x = 1>
</cflock>
<cflock ..>
        <cfset session.y = 2>
</cflock>
<cfloop ...>
        <cflock ...>
                ...
        </cflock>
</cfloop>

It would be very difficult to make a system smart enough to know "Hey, I
could use one lock around this particular block of code." Therefore, we
would be stuck with the slower alternative. Personally, I'd rather just
do the work. It can't be that hard to cflock, or duplicate to the
request scope.

..... again, all of the above is my personal opinion, not that of the
company.....


=======================================================================
Raymond Camden, Principal Spectra Compliance Engineer for Macromedia

Email    : [EMAIL PROTECTED]
Yahoo IM : morpheus

"My ally is the Force, and a powerful ally it is." - Yoda

> -----Original Message-----
> From: junkMail [mailto:[EMAIL PROTECTED]]
> Sent: Monday, March 18, 2002 3:18 PM
> To: CF-Talk
> Subject: Re: UDF question
>
>
> With respect to this issue, comparing CFML to C++ is apples
> to oranges.
>
> I can't expect a low-level language to automatically manage
> concurrent access
> to shared memory resources, because I have defined the
> resources and I have
> decided how they are to be accessed and shared.   I can't
> expect a such system
> to be prescient.
>


______________________________________________________________________
This list and all House of Fusion resources hosted by CFHosting.com. The place for 
dependable ColdFusion Hosting.
FAQ: http://www.thenetprofits.co.uk/coldfusion/faq
Archives: http://www.mail-archive.com/cf-talk@houseoffusion.com/
Unsubscribe: http://www.houseoffusion.com/index.cfm?sidebar=lists

Reply via email to