Bruce Willmore wrote: > Hi everyone: > > First off: > > jBASE version 4.1.6.20 > Operating System: HP-UX 11.13 (I believe. Going from memory on that, > but don't think it'll prove relevant) > > In short, I have a subroutine that is invoked by the BlueFinity MVnet > product. The traffic that passes through the BlueFinity product can > easily exceed more than 1 million transactions/day. MVnet provides as > an argument to this surbroutine a dynamic array, which my subroutine > needs to perform repeated extracts from to get the required data. > > That said, my question is that when considering an application under > this type of load, is there any benefit to converting the dynamic > array that mvNET is providing to a dimensioned array and back again > using MATPARSE/MATBUILD, or is it best to leave it as a dynamic array? >
It depends on the access patterns. If you traverse the dynamic array from start to end or end to start, then dynamic array access will generally be faster (depends a little on the data the array contains). Use the group search to find lots of posts on this subject in the dim and distant past. > I should note that the number of attributes in this dynamic array is > currently around 50, and will be rising, as we are being called upon > to perform ever more-complicated decisions using additional data > points. > This isn't really a large enough array to worry about unless a lot of the individual elements are large and/or you are using random access patterns and cannot change that. It will almost certainly take longer to do the MATPARSE/MATBUILD (as using jprof would show you). > Or, if there is no real benefit to be gained using MATPARSE/MATBUILD, > is there an optimal method for extracting the needed data from the > Dynamic Array? > Use the data elements in order and not in a random access pattern. If they are being accessed a lot in random order then first copy them into temporaries and use those (but be aware that as you add more local variables to subroutines, the creation and destruction of them on subroutine enter and exit will start to be expensive; use COMMON variables to avoid that overhead). However also note that 1 million transactions per day, while it sounds like a lot is essentially nothing for a modern computer... that said, you have an HP system ;-) Unless what you are doing is very complicated, you should be able to process a million transactions in a few minutes. I suggest that you will get a lot more performance improvements by using jprof on your application code than you will by second guessing the access patterns like this. Concentrate on why time is spent in certain subroutines or on certain lines of code, file sizes and so on. Jim --~--~---------~--~----~------------~-------~--~----~ Please read the posting guidelines at: http://groups.google.com/group/jBASE/web/Posting%20Guidelines IMPORTANT: Type T24: at the start of the subject line for questions specific to Globus/T24 To post, send email to [email protected] To unsubscribe, send email to [email protected] For more options, visit this group at http://groups.google.com/group/jBASE?hl=en -~----------~----~----~----~------~----~------~--~---
