We help IT Professionals succeed at work.

I built a piece of software and It goes slow now that the program is bigger. Any software out there that tests and suggests what hardware to buy

Alpha_AI
Alpha_AI asked
on
Medium Priority
166 Views
Last Modified: 2010-04-05
Hello,

I built a software that accesses alot of information but I need to speed it up.
I have a feeling that if I get a fast 10,000 rpm or fast hdd then I may be able to speed it up or if I get faster memory that might speed it up

Any software out that can recommend me what I need to improve the speed of my software

Ben
Comment
Watch Question

Commented:
to speed up your software you might have 3 general fields of improvement

1) algo :  your algorithms to calculate something ->  are they really the best??

2) hardware:  your implementation, eg. keep frequent needed data in RAM , global vars.
    implement code in asembler for speed tuning....
    program according your hardware

3)  Software & OS: skip any kind of interaction with the GUI  and the OS  (like screen updates...),
   use most performing libraries fto calc. something

Best
BdLm

Commented:
BTW:  one easy tool is the windows task manager, once the CPU is 100% at the program execution you should consider your algo &  Implementation;
          if CPU performance is less than eg. 60 %   performance limitation might be your data streaming to the core, eg. from   your hard disk.
Hi

What exactly are you doing that is causing problems?

You say you are accessing a lot of information - is that in a database - what database are you using - are you dragging the info across the network?

How much information?

These are questions that will help to,provide an answer.

Voodooman
CodedKSenior Software Engineer
CERTIFIED EXPERT
Commented:
Hi

If you need to speed it up when the program loads then you could use a exe packer. (ASpack, PE compact, UPX)
Smaller (<50%) size usually means quicker load time.

Code optimization & faster hardware should do the job also.

Hope this helps.

Not the solution you were looking for? Getting a personalized solution is easy.

Ask the Experts

Author

Commented:
What I will do tonight is take a reading of the milliseconds that elapse in each section of my code.
and will hopefully find out where to start. I'll let u know

Ben
Self-employed developer
CERTIFIED EXPERT
Commented:
General ways to speed up your application:

Hardware:
* Use a dual-core system so tasks are divided over multiple processors. Even if your application is single-threaded, it might be using information from other processes which would be running on the second processor.
* Add more (and faster) memory chips to your system. Even if your application doesn't need much memory, the additional memory will keep more processes in memory so you have to swap less.
* A faster harddisk might make a difference but try to get a SCSI or RAID configuration. A RAID 0 configuration with 7200 RPM disks will be faster than a normal harddisk at 10,000 RPM.
* If you use SQL Server or Oracle, install the database on a second computer and use a very fast network connection between your two systems for data transfer. Having the database on a dedicated server will improve the performance of the database itself.

Software:
* Kill any services and processes that you don't need. Only run the bare minimums that your application requires.
* Disable your virusscanner (!) but only if you are sure it cannot be infected by the outside world. (E.g. when you're disconnected from the network or behind a router with additional virusscanner.)
* Use a smaller screen resolution. (640x480 is small but also faster to be updated.)

Development:
* Use a profiler to find the slowest parts in your application and start improving speed at those points first.
* Redesign all your string manipulations and avoid string concatenations by just adding two strings in Delphi. Delphi is fast in it's string-handling but it can be done even faster! Especially functions like StringReplace are way too slow by default. Use the FastStrings units from http://www.droopyeyes.com instead.
* If you use a database with the BDE, remove the BDE and replace it with either ADO or DBExpress. Preferably use ADO since it's extremely fast and versatile.
* If you use ADO, avoid Delphi's ADO components but use the ADO type library directly from your code.
I dont actually understand the question.......

I have some big apps with some big forms and I dont have any speed problems running the actual code.

I sometimes encounter speed problems in data operations but those are usually database problems. One example is where I am retrieving data from Sage into one of my apps which is awfully slow.

I would really like to know what Ben is actually doing and having problems with.

Generally going slow is not a problem I associate with Delphi - thats one of the reasons I use it.

Voodooman

Commented:
Correct, If we want to continue this discussion we must get more details.
I Know tons of examples were eg. some clever maths solved all speed
problems.
Access more of Experts Exchange with a free account
Thanks for using Experts Exchange.

Create a free account to continue.

Limited access with a free account allows you to:

  • View three pieces of content (articles, solutions, posts, and videos)
  • Ask the experts questions (counted toward content limit)
  • Customize your dashboard and profile

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.