• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Financial Software

 
Ranch Hand
Posts: 69
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
financial software often deals with a high volume of data and i'm interested in any special techniques used when writing java programs to ensure that the application performance is reasonable. Websites,tutorials,personal experiences and examples are very much welcome.

thanks in advance
 
author
Posts: 14112
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Most importantly, for any type of software take the following advice at heart: http://faq.javaranch.com/view?WhenToOptimize

From my limited experience with financial software I'd say that the data *processing* typically is rather simply, with linear complexity. The bottleneck is more likely to be found in data *access* - in the database layer, for example.

For a good general site on performance, see http://www.javaperformancetuning.com/
 
author & internet detective
Posts: 41860
908
Eclipse IDE VI Editor Java
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Eddie,
I agree with Ilja that the database layer is the number one thing to watch out for. Normally, I would agree not to optimize until the end. However, you can write yourself into a corner if the architecture doesn't support scalibility extremely well. (A J2EE architecture helps you out here.)

Some notes from my experiences with developing financial software:
1) Carefully review the number of trips to the database. One query returning a million rows is better than a million queries returning one row.
2) Avoid returning unneeded data. If you need a sum of the data, let the database do it rather than returning all that data and adding in java.
3) Minimize the data crossing tiers. If you can do back-end processing in the data access (JDBC or EJB) tier, pass less data to the front end.
4) Think about what you are doing with the data. If the user is going to see the first 20 records out of 1000, you don't need to get all that data in one shot.
 
Consider Paul's rocket mass heater.
reply
    Bookmark Topic Watch Topic
  • New Topic