2 Replies Latest reply on Mar 26, 2008 8:03 AM by Solerous

    Blazeds performance

    Solerous Level 1
      I am wondering if anyone has an idea about increasing blazeds performance. I am receiving information from a database for a chart. Each record is a java object and the entire set of approximately 180K records is contained in two separate arrays since it is a multi-series chart. I convert the records into actionscript objects from java objects when I get them. From the time the records are sent to the flex app, til the time they get drawn on the screen takes approximately 45+ seconds. This seems pretty long to me. Is this on par with what should be expected? If not, what could I do to improve this performance?

        • 1. Blazeds performance
          Karl_Sigiscar_1971 Level 3
          180,000 records is a lot to process for any UI technology, whether it's Flex, Silverlight or Swing.

          Try and breakdown your records into smaller chunks and provide users with a data drilling functionality in order to get deeper and deeper into the data, step by step.

          For example, if it is a time based chart, you can first display years, then months, then weeks then days, each time reducing the time span to a shorter range, delving deeper.

          You can have some Java classes add up data to display the sum of each year's data (e.g sales), then each months (adding up monthly sales) and so on and so forth...
          • 2. Re: Blazeds performance
            Solerous Level 1
            Yeah, I agree, we need to reduce the data set by quite a bit because it is overkill. But for now, I'm just working with the data that they give me and even though its too many records, I still feel that I might be doing something wrong.

            I think I may not really be using AMF in the first place.

            I am just using a subscribe with a consumer:

            <mx:Consumer id="consumer" destination="factory" message="messageHandler(event.message)"/>

            I tested the time between when messageHandler is first called and when it is finished drawing and it is 52 seconds. Even for 180K records that seems too long.

            Here's how I set it up in my messaging-config file:

            <adapter-definition id="TCgateway" class="factory.ReportManager"/>

            <destination id="factory">
            <adapter ref="TCgateway"/>

            And ReportManager is just an instance of ServiceAdapter:

            public class ReportManager extends ServiceAdapter {

            public Object invoke(Message message) { .... }