Originally posted by: kamper
You're not looking at reimplementing stacks and queues in java are you?
Originally posted by: kamper
How else do you propose to implement a stack if not with an array? (well besides a linked list...) Vectors are array based and Stacks are Vector based. They just manage array resizing behind the scenes. There's a great example of where algorithm design can affect performance. A Vector has to be able to choose an optimal resizing plan for a variety of different usage patters which the writers couldn't possible know of before hand. I could see reimplementing a the idea of a Vector if you had a very specific, time-critical usage pattern if you could make some good situation-specific optimizations.
Originally posted by: DaveSimmons
Unless you're John Carmack hand-tuning 3D engine code to work acceptably on lousy gf4mx cards, you should normally only be concerned with the O() time of the algorithm, e.g. know not to use bubble sort or linear search.
Even that isn't always true. Linear search makes perfect sense for small values of n since the code is cleaner and easier to maintain and speed usually does not matter searching 100 items.
Originally posted by: Armitage
Originally posted by: DaveSimmons
Unless you're John Carmack hand-tuning 3D engine code to work acceptably on lousy gf4mx cards, you should normally only be concerned with the O() time of the algorithm, e.g. know not to use bubble sort or linear search.
Even that isn't always true. Linear search makes perfect sense for small values of n since the code is cleaner and easier to maintain and speed usually does not matter searching 100 items.
What kind of programming do you guys do that performance is such a non-issue? I tend to be fairly obsessed with performance, but then, it's not unusual for stuff I'm working on to run a week or two on our cluster.
Originally posted by: amdfanboy
Originally posted by: Armitage
Originally posted by: DaveSimmons
Unless you're John Carmack hand-tuning 3D engine code to work acceptably on lousy gf4mx cards, you should normally only be concerned with the O() time of the algorithm, e.g. know not to use bubble sort or linear search.
Even that isn't always true. Linear search makes perfect sense for small values of n since the code is cleaner and easier to maintain and speed usually does not matter searching 100 items.
What kind of programming do you guys do that performance is such a non-issue? I tend to be fairly obsessed with performance, but then, it's not unusual for stuff I'm working on to run a week or two on our cluster.
Say you had to order the items in a drop down list. Performance isn't going to mean much![]()
At this job: commerical Windows application software in VC++/MFC.Originally posted by: Armitage
What kind of programming do you guys do that performance is such a non-issue? I tend to be fairly obsessed with performance, but then, it's not unusual for stuff I'm working on to run a week or two on our cluster.
Originally posted by: Armitage
Originally posted by: DaveSimmons
Unless you're John Carmack hand-tuning 3D engine code to work acceptably on lousy gf4mx cards, you should normally only be concerned with the O() time of the algorithm, e.g. know not to use bubble sort or linear search.
Even that isn't always true. Linear search makes perfect sense for small values of n since the code is cleaner and easier to maintain and speed usually does not matter searching 100 items.
What kind of programming do you guys do that performance is such a non-issue? I tend to be fairly obsessed with performance, but then, it's not unusual for stuff I'm working on to run a week or two on our cluster.
Originally posted by: DaveSimmons
At this job: commerical Windows application software in VC++/MFC.Originally posted by: Armitage
What kind of programming do you guys do that performance is such a non-issue? I tend to be fairly obsessed with performance, but then, it's not unusual for stuff I'm working on to run a week or two on our cluster.
Our main application lets the user create assessment content and publish to e-learning servers (WebCT, Blackboard, eCollege) using SOAP and wininet. Our second, new application allows creating content then dynamically generating Macromedia Flash learning objects, then (if desired) uploading them to the same servers.
At my previous job I wrote statistical analysis software in VC++/MFC and conversion filters (dBase, excel, SPSS) to bring in data from other statistical apps.
For most end-user applications there are only tiny sections of the code that require optimization, such as the filter for importing large SPSS data files (80 MB of data was large in 1996 on a pentium 133 with 32 MB RAM)
Originally posted by: kamper
Pretty much any desktop app that's not crunching numbers won't really care about speed. I work with web-apps myself. Sure, performance is an issue, but not in the sense that we worry about low-level optimizations. We worry about algorithms in the rare case that any thing complicated comes along but mostly about the mechanics of transactions and the amount of load we put on the database as opposed to the application server.
An example optimization:
large, complicated dynamic sql = bad
stored procedure = good
Granted, now that I think about it, that's purely outside the realm of business logic and completely about lowlevel optimization. Hmmm
Armitage, although I like my job, I'd have to say I'm a little jealous of yours. How do you get involved in stuff like that and what language(s) do you write in?
Sounds like funOriginally posted by: Armitage
I mostly work on modeling & simulations for astrodynamics R&D. Sensor scheduling/tasking, constellation and mission design, collision avoidance. Lots of number crunching.