LMAO!!!

Goes to show that no matter what skill level you're at you can still make silly mistakes, no?

Good catch Doug... and kudos on eating your own crow in a public forum. :)

Laterz,
J


------------------------------------------------

Jared C. Rypka-Hauer

Continuum Media Group LLC

http://www.web-relevant.com

Member, Team Macromedia - ColdFusion


"That which does not kill me makes me stranger." - Yonah Schmeidler


On Mar 5, 2006, at 9:00 PM, Doug Hughes wrote:



Gary,

I've been fretting since you sent your initial message about the perceived
speed of doughughes.net.  You essentially said that, because the ColdFusion
category came up slow that the Reactor framework must be slow.

On the surface this makes sense.  There's no secret that I use ReactorBlog.
So, it seems, if you want to get an idea of how fast reactor is then you go
to a site you know runs Reactor and see how fast it feels.

I spent some time today testing parts of the framework to find out where the
bottlenecks are.  (I found some interesting ones - more on this later.)
After I fixed a few problems I went back to a local copy of ReactorBlog and
tested it, expecting to find it feeling much faster.  Oddly, it didn't!  

Why ever not?!  

To track this down I turned on execution time reporting and was surprised to
find one method being the problem getMatching() on the entryGatway.  All
other steps were at or less than 16ms.  What was the problem with
getMatching().  I opened it up and was amused to find that it's a custom,
handwritten query! 

That's right; the slowness isn't even reactor's fault.  The particular query
does some date parsing (for grouping purposes) and returns a reasonably
large amount of data from MSSQL.  The resulting page is also nearly 90kb
with images, css or scripts.  

Clearly the bottleneck is either in MSSQL, how the query was written or the
transport between mssql and cf.

The moral of the story?  

Don't judge a framework's speed based on an app on a server that you don't
have access to.  Run the code locally, break it down into little pieces and
test atomic parts of it.  

Oh - one other thing:  I found a really boneheaded mistake I made in the
objectFactory.  For quite a while now Reactor has been inspecting the
database no matter what mode it was in.  This means that all production apps
running Reactor have really been running in development mode.  Doh!  I fixed
that and committed.  The framework seems much faster now.

Doug


-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Gary
Herman
Sent: Thursday, March 02, 2006 3:49 PM
Subject: RE: [Reactor For CF] Performance of Reactor

Doug,

Just checked your site again, looks like the server reboot did speed things
up a little bit - but I'm still seeing a slow down in the larger categories.
I realize the code has not been tweaked for performance just yet, but I
wanted to bring this up now since the performance lag we are seeing is quite
large.  Overhead is to be expected here - hopefully, this will decrease when
you get closer to a final release!

Thanks,

Gary

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Doug
Hughes
Sent: Thursday, March 02, 2006 5:19 AM
Subject: RE: [Reactor For CF] Performance of Reactor

My server is having disk errors.  It just took 20 minutes to reboot it.  I'm
pretty sure this isn't a reactor issue.

Doug

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Gary
Herman
Sent: Thursday, March 02, 2006 2:26 AM
Subject: RE: [Reactor For CF] Performance of Reactor


Hmmm, I just went to doughughes.net and clicked on the "Cold Fusion"
category - it took quite a long time to load, 40 seconds.  To be scientific,
I tried this from 3 different computers running with 3 different DSL
providers and the results were the same.  I tried other categories as well;
the small ones load at decent speeds, but the larger catgeories take a
*long* time to load.  Am I missing something here? 


Gary

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Doug
Hughes
Sent: Monday, February 27, 2006 2:12 PM
Subject: RE: [Reactor For CF] Performance of Reactor

I'm using reactor on a number of sites and I'm not seeing speed problems.
(See doughughes.net).  I know others are seeing acceptable speed too.

If you have reactor in the application scope are you sure it's actually
running in production mode?  If you had it in development mode and put it in
the application scope, it wouldn't pick up changes to production mode unless
you reloaded the application.

You'll also see a nice speedup with trusted caches turned on.  I'm not using
them on doughughes.net.

If you could dig into the reactor code and determine where the speed
problems are, it would be most helpful.

Doug

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Cody
Caughlan
Sent: Monday, February 27, 2006 3:32 PM
Subject: [Reactor For CF] Performance of Reactor

I am using the latest version of Reactor. I have 5 tables (User, Address,
Company, Email and Phone) with many-to-many links between User and all of
the others. For getting my feet wet purposes I have built a basic no frills
page that takes the ID of a given User and display all of their profile
information (their address, the company they work for, the company's
address, etc).

Using the GetTickCount() function and with Reactor in "production" mode and
Debugging turned off in CF I the page takes on average 1.5 seconds to
execute. Eventually we will be integrating Reactor with MachII, but this
basic page is just that, a straight no framework page. I am concerned that
with adding the MachII overheard the combo of MachII and Reactor might be a
little overboard. For completeness sake I put the Reactor factory in
Application scope with its init() so granted this wouldnt be done
per-request, and that did seem to save a little bit of time.

My question overall is is, how performant is Reactor and are people seeing
acceptable production ready speeds with it? Are there any other tricks that
can be used to speed up Reactor? I know that it uses lazy-loading and I gave
it a couple of requests so that all Record / Gateways / Iterators objects
were created, but still couldnt get it less than 1.5 seconds.

We have this running on 2 servers (1 for IIS and 1 for MSSQL, both are very
beefy, so its not a hardware issue). Previously when we were running MX6.1,
basic MachII apps were running slowly. As soon as we upgraded to MX7, those
same apps just FLEW (to us it seemed to be a night and day difference). I
dont know what relevance this has to Reactor, but just our experiences.


Thanks
/Cody





-- Reactor for ColdFusion Mailing List -- [email protected]





-- Reactor for ColdFusion Mailing List -- [email protected]







-- Reactor for ColdFusion Mailing List -- [email protected]





-- Reactor for ColdFusion Mailing List -- [email protected]







-- Reactor for ColdFusion Mailing List -- [email protected]





-- Reactor for ColdFusion Mailing List -- [email protected]



Reply via email to