Hello-

I have a basic Reactor setup. For some testing purposes I have one
table, "Person" with a couple of obvious columns. I have a very basic
page which creates a PersonGateway and does two things:

<cfset PersonGateway = Application.reactor.createGateway("Person") />

<cfoutput>Dumping All...</cfoutput>
<cfdump var="#PersonGateway.getAll()#">

<br />

<cfoutput>Get people whose firstname starts with "co"...</cfoutput>

<!--- my query --->
<cfset Query = PersonGateway.createQuery()>
<cfset Query.getWhere().isLike("Person", "firstname", "co%")>
<cfset people = PersonGateway.getByQuery(Query)>
<cfdump var="#people#">

First off, my table only has 2 rows in it and the firstname like 'co%'
only matches 1 person.

With the Reactor factory placed in App scope in Application.cfc and
with debugging turned off and with reactor in "production" mode, this
page takes ~125ms to run. Running both queries on their own via
cfquery takes on the order of a few milliseconds each.

I realize that the framework's purpose is to decrease repetitive
typing and its in Alpha stage (so performance tweaks are not high on
the priority list) but it seems that the overhead is a lot. Factor in
other frameworks like Model-Glue or MachII and at the end of the day,
the response time is high! (The example above is very trivial. I
proof-of-concepted a "Person Profile" page under MachII displaying a
person's email, user info, company info, company address info, and the
whole thing takes 3 seconds to run with most of the overhead going to
Reactor as I have benchmarked MachII on its and can say that its not
the bottleneck.)

I am just wondering, to what degree has anybody used Reactor in the
real-world and have they been able to realize acceptable performance?
Doug, dont get me wrong, you have done an incredible job and put
together quite an advanced package. I am not knocking all your hard
work, but am just trying to evaluate Reactor from a neutral
perspective.

I realize that Reactor is Alpha, so is there any intention to address
performance down the line? Or is this it? I am familiar with the
processing cycle of MachII and for all it does, its fast. I just cant
see what the bottlenecks for Reactor are. When I turn on debugging in
CF, the numbers are all over the place and ever changing, so its very
difficult to trace it down to any 1 or 2 or places.

As it stands, I love Reactor for the power it offers me and the
ability to quickly code up the data access layer, but its performance
is not acceptable for the sites we are developing, much to my dismay.
Is my above code wrong, can it be optimized or is this as good as its
going to get?


Hoping for answers!
William



-- Reactor for ColdFusion Mailing List -- [email protected]
-- Archives at http://www.mail-archive.com/reactor%40doughughes.net/


Reply via email to