Blazing Fast Data Transfer in Flex

A while back I created the Census RIA Benchmark to illustrate the benefits of having both a high performance client VM and a binary serialization protocol. These factors combined lead to significantly faster data transfer and rendering for large datasets in rich Internet applications. Recently I created an Adobe TV video that walks through Census and how to use Flex and BlazeDS to take advantage of these benefits. Check it out and let me know what you think.

Note: If you run Census in Firefox 3 there is a bug with iframes causing the tests to not run until you click on the results panel on the right.

  • Dude…how can you rock a video without the cowboy hat? I’m not even sure this is an authentic video. ;-)

    Good tutorial.

  • Bill Keese

    Hi James,

    I work on dojo so I can speak about the dojo part of your benchmark, but the problem is that I’m not quite sure what the benchmark is trying to measure.

    We found that it takes a very long time to render a 5000 row table in a browser, but that’s OK because an application never needs to do that, since screens aren’t nearly that big. ;-) If you look at dojo’s current table widget (FilteringTable is a few years old technology, “Grid” is the new widget) it will download the table data just-in-time, as you are scrolling. It’s the same thing that yahoo mail does when you page through messages there.

    You “AJAX ***” tests seem hard to believe that they run so fast… it says it is rendering a 5000 row table but I don’t see it on my screen. Is it hidden in a style=”display:none” block? That doesn’t count, it’s not really rendering.


  • Hi Bill,

    The Ajax and Dojo tests are pretty old. So sorry that they are broken and do not represent the newer stuff. I need to update them or just point people to the Census 2 app that has the updated Dojo stuff. You’ll notice in the video (and any demo I’ve given lately) that I don’t run the Ajax or Dojo tests because I’m not trying to misrepresent the technologies. At the time I built Census things were different and Grid didn’t exist yet.

    Hopefully I get some time soon to update this stuff.


  • aaron

    Vice nice. can you provide a latest java source code. thanks

  • Bill Keese

    Oh I see now, the benchmark is from long ago but the point of this blog post is showing the performance gains of doing data transfer using AMF (a binary format) rather than a text format like XML or JSON.

  • Yes. The video shows the performance gains of using AMF over XML in a Flex app.


  • Hi Aaron,

    You can find all the code on SourceForge by right clicking on the Census demo and selecting View Source.


  • A perfect showcase. This can be given directly to ICT Executives and JEE Architects, thx!


  • Matthew Wakefield

    Looks like I’m about 6 months late to this post, but was poking around for AMF vs. E4X benchmarks and came across this. AWESOME! Exactly what I was looking for!

  • Matthew Wakefield

    Also, looks like your SOAP service is broken.

  • Hi Matthew,

    Thanks for checking out the app. Unfortunately SOAP broke when I upgraded JBoss. I’m working on a new version that will resolve the issue. Hopefully it will be done in the next month.


  • Pingback: amf.js – A Pure JavaScript AMF Implementation()

  • Pingback: Data Paging in Flex 4()

  • Pingback: Data Paging in Flex 4 (Adobe Flash Platform Blog)()