Hey all,

I just spoke to Doug and got the OK to commit a bunch of changes to
Reactor I've made.  There should be zero API changes - I've been
working on some under-the-hood performance increases.

There's not likely to be much of a performance difference for
development or light-load production, but we've made some dramatic
improvements under heavy load.

Notes on details follow:

All tests = 100 simult threads, 20 requests per thread, 1000ms delay
between requests, 10 second ramp-up against an unmodified ReactorBlog
database on MSSQL

Test: getcategory.cfm:
<cfset category = application.reactor.createrecord("category") >
<cfset category.load(categoryId = 0) />

Test: listcategory.cfm:
<cfset category = application.reactor.creategateway("category") >
<cfset category.getall() />


Before any changes
---------------------------------------------------------------
getcategory.cfm: 4948ms avg
listcategory.cfm: 141


After S. Corfield's reactor.query.query pooling
---------------------------------------------------------------
getcategory.cfm: 4933
listcategory.cfm: 86


After jRinehart's reactor.query.object pooling
---------------------------------------------------------------
getcategory.cfm: 4942
listcategory.cfm: 14


Shared instance of Convention (jRinehart)
---------------------------------------------------------------
getcategory.cfm: 4861
listcategory.cfm: 16


Removed unnecessary createUUID() in abstractObject (jRinehart)
---------------------------------------------------------------
getcategory.cfm: 722
listcategory.cfm: 14

I've also cleaned out a bunch of usages of isDefined(), replacing with
structKeyExists() or arrayLen(arguments) where necessary.


Please report anything that breaks to this list.

-Joe

--
Get Glued!
The Model-Glue ColdFusion Framework
http://www.model-glue.com



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


Reply via email to