| Version 2 (modified by DanWilson, 14 years ago) |
|---|
As of version 3.2, Model-Glue will load only the internals necessary to fulfill the current request, in contrast to the LoadItAllNow? architecture of previous versions. This technique is called Memoization, an optimization technique used primarily to speed up computer programs by having function calls avoid repeating the calculation of results for previously-processed inputs. Also, Model-Glue will now optionally keep the internal state of your bean factory across reloads, saving you from reloading all of your ColdSpring?-managed objects on each request.
See this article on [How Can I Speed Up Reload Times? for more info.
Results
A picture is worth a thousand words, so we put together a timing test to show you the differences. The timing tests use progressively more Model-Glue objects, and are designed to show you the reload times at 3 phases of the application. Note: these tests only deal with Model Glue objects like Controllers and Event-Handlers. Real world applications also will incur loading times with Model objects. Since Model objects are largely out of the control of Model-Glue and Model objects vary in design and loading times, we left them out of the tests. Keep in mind, you can maintain your bean factory (and model objects) across requests as we mentioned above.
Three Phases of Testing:
Initial Startup: ColdFusion? is fully started. The test application is hit for the first time. First Reinitialization: The application is reloaded once after being hit for the first time. Second Reinitialization: The application is reloaded a second time.
Test Steps:
- Start ColdFusion?
- Log into CF admin
- Browse to index.cfm
- Note startup time reported
- Browse to index.cfm using the application reload flag
- Note startup time reported
- Browse to index.cfm using the application reload flag
- Note startup time reported
- Shut down ColdFusion?
Performance Result Charts
Initial Startup
First Reinitialization
Second Reinitialization
Attachments
-
Timing_Cold_Init.png
(20.4 kB) - added by DanWilson
14 years ago.
Cold Initialization
-
Timing_First_Re-Init.png
(20.1 kB) - added by DanWilson
14 years ago.
First Reinitialization
-
Timing_Second_Re-Init.png
(20.0 kB) - added by DanWilson
14 years ago.
Second Reinitialization
![(please configure the [header_logo] section in trac.ini)](/ModelGlue.com/trac.cgi/chrome/site/your_project_logo.png)