Originally posted by Jack Shirazi:
Recreating instances is fine...
Originally posted by Jack Shirazi:
The example you give of the auto manufacturer is a design bottleneck. Profilers don't tell you anything about design bottlenecks. One of the reasons patterns are popular is because they can guide you to effficient designs.
...
These are implementation and design issues you are describing.
Originally posted by Jack Shirazi:
Implementation should focus on functionality until stable. Implementation performance should not be considered until components are functionally stable. then profiling will get you your improvements.[/URL]
Originally posted by Wouter Zelle:
Mark, an important problem with the data that you like to have is the diversity in software code.... A Java3D game is totally different from a J2EE server app.
Originally posted by Jack Shirazi:
[QB]Lets look again at the example of that automanufacturer. Your way to help performance tuning is to look for the benchmark. In this case other automanufacturers run their assembly lines 3 times faster, so he knows he has to improve. My way is to performance tune to targets. Well he needs initial targets. Of course in this case that would be the rival manufacturer's production rate. So he starts with the target "throughput", and keeps repeating profile/fix until he gets there. In terms of Java applications, I always emphasize that you must have targets before you start tuning, otherwise you have no idea how much tuning you need to get done. So this doesn't separate us.
Originally posted by Jack Shirazi:
[QB]
But my understanding is that you aren't really talking about throughput and response time targets. Every application should have these targets before you start tuning, or you're just blowing in the wind. My understanding is that you are talking about lower level benchmarks such as the types of objects and their frequency, lifetimes, etc. That's much lower level than the production line throughput. I think that's more equivalent to, say, statistics on the individual workers on the production line. Productivity statistics.
Originally posted by Jack Shirazi:
Which development project have you been on or know of where they could not specify performance targets?
Originally posted by Jack Shirazi:
If 150 hours was adequate performance, it doesn't matter even if it could have been done in 2 seconds. If 150 hours is inadequate performance, then they must have had a target time that the calculation needed to be done in. What difference what is achievable? Your business requirements should drive target performance times, not some arbitrary target of what can be achieved by other applications.
Originally posted by Jack Shirazi:
Identifying that their performance targets could be improved to add value to their system... The kind of figures you are talking about are not particularly useful to the performance tuner.
Originally posted by Jack Shirazi:
You won't find that kind of information in many places. Specifically because it is useful to rival product development.
Originally posted by Jack Shirazi:
And this is not profile information (your very first post), it is performance target specifications.
a 10x speedup could be funtionally useful (as in the DB example), whereas a 1% speedup might not be useful to the same degree
Originally posted by Jack Shirazi:
Once a day, I run an analysis on my weblogs. It takes about 10 minutes...A 10x speedup is functionally useless in this context.
...
Does it help you to know that my weblog analysis program takes 10 minutes? Even if you were writing your own weblog analysis program?
Associate Instructor - Hofstra University
Amazon Top 750 reviewer - Blog - Unresolved References - Book Review Blog
I don't think that optimum performance exists unless we are talking about a small computing core written in assembly. Performance optimization is always a tradeoff between effort spent, maintainability and speed.Originally posted by Thomas Paul:
Maybe I would find that I was already at optimum performance and there is nothing that can be done to speed it up. But at least I applied my efforts to the right place even if I got nothing out of it other than the ability to tell management that it can't be done any better.
Consider Paul's rocket mass heater. |