• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
WO Performance...
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

WO Performance...


  • Subject: WO Performance...
  • From: Colin Clark <email@hidden>
  • Date: Fri, 24 Oct 2003 09:33:01 -0400

Hi Bob,

I've been following your threads on the WebObjects-dev list and notice that you seem pretty concerned about your decision to use WebObjects.

In terns of performance, I think you'll find it more appropriate to worry about performance later on in the development cycle of your application. As with any project, it's problematic to try and tune before you've implemented at least the basic functionality and are able to profile the specific behavior of your application. Due to the level of abstraction at which EOF developers generally work, it's much more productive to define the functionality and then profile and fix the fetching behavior afterwards. Small iterations work well for performance tuning.

In terms of database access, if you read the WebObjects EOF documentation it should be clear that the naive out-of-the-box fetching strategy that EOF uses is rarely appropriate for most applications without further adjustments. A knowledge of how to properly and quickly fetch your data objects comes with understanding specific details about your domain, your database design, and the kinds of problems you're trying to solve. EOF can't possible know how intelligently fetch your data without you providing that extra information. You do that by making decisions about batch faulting, prefetching, and using raw row fetches where required. EOF is designed around an object cache that if used correctly will make your application significantly faster than if you used continuous round-trips to the database. For example, I notice that once my application has been primed--ie. a certain amount of data has been fetched up front--pages the fetch large graphs of related data can be blazingly fast when reading from the cache.

As for WOF and the speed of the templating engine, I think it's quite fast as it is. If you find as you develop your application that your page rendering times are too slow, there are certainly options open to you. Petite Abeille's point about the possibility of using WOF templates to generate semi-static pages server by the Web server is a good one. I have easily integrate static HTML pages into my WOApp (that's what the WebServerResources folder and a split-install is for) when creating content that never changes.

WebObjects and EOF are very dense, complex, and flexible frameworks. They take a _long_ time to learn. However, due to the framework design, rapid application development can be a real joy. It's a breeze to put together a working set of component and application code in a few hours. The result, though, is that the framework inevitably establishes a basic flow and behavior that won't always suit your application's needs. There are a number of hooks in the framework in order to change it's out-of-the-box behavior. The challenge is to know when and how to do this.

I hope that helps explain some of your concerns,

Colin
_______________________________________________
webobjects-dev mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/webobjects-dev
Do not post admin requests to the list. They will be ignored.

  • Follow-Ups:
    • Re: WO Performance...
      • From: Bob McCormick <email@hidden>
    • Re: WO Performance...
      • From: Chuck Hill <email@hidden>
    • Re: WO Performance...
      • From: petite_abeille <email@hidden>
    • Re: WO Performance...
      • From: petite_abeille <email@hidden>
  • Prev by Date: RE: Newbie: Mixing HTML & WO Pages?
  • Next by Date: Re: WO Performance...
  • Previous by thread: Re: Extending NSKeyValueCoding?
  • Next by thread: Re: WO Performance...
  • Index(es):
    • Date
    • Thread