ABL - Object-Oriented Programing

DevTeam

Member
Well, deleting objects was quite a good idea : the CPU consumption is not around 100 % anymore and the times are twice better.

Here are the results of my last benchmarks (processing 1800 records) :

Progress 4GL : 31 secs
Java : 76 secs
ABL ("Java style") : 273 secs

But I do not take those results as something representing ABL's performances, as I'm sure I did not do things right about database access, or even Progress best practices (by instance : I only use parameters and not shared variables).

But that was a good practice.

Oh, by the way, I used the List class, which I found through OEHive website, and it really helped me ! Thanks for that too ;)
 

tamhas

ProgressTalk.com Sponsor
Nice to see someone using it. Thanks. While I think it is useful to have a general purpose set of collection classes, I am pretty sure that it will be desirable to also have specialized collection classes for each object type. E.g., for a collection of orders, one probably wants and OrderSet class which internally has a ProDataSet to hold the multiple tables involved in an Order and to represent the many relationships. This will allow multiple sort orders with good performance as well. A method can be provided which delivers a single Order object as a result and one can have a method which accepts an Order object as a parameter and either adds it to the PDS or replaces the corresponding value. This will also provide you with all the Tracking-Changes behavior of the PDS.

Which said, I also encourage you to read and think about this article http://www.oehive.org/OERAStrategies since you will be running into other examples of how to use PDS in PSC code which I don't agree with.
 
Top