Solved

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

Posted on 2006-11-08
8
139 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
0
Comment
Question by:Alpha_AI
8 Comments
 
LVL 8

Expert Comment

by:BdLm
ID: 17896945
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
0
 
LVL 8

Expert Comment

by:BdLm
ID: 17896966
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.
0
 
LVL 5

Expert Comment

by:Voodooman
ID: 17900221
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
0
 
LVL 16

Assisted Solution

by:CodedK
CodedK earned 20 total points
ID: 17903564
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.
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:Alpha_AI
ID: 17903611
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
0
 
LVL 17

Accepted Solution

by:
Wim ten Brink earned 105 total points
ID: 17946939
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.
0
 
LVL 5

Expert Comment

by:Voodooman
ID: 17949308
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
0
 
LVL 8

Expert Comment

by:BdLm
ID: 17949502
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.
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Introduction The parallel port is a very commonly known port, it was widely used to connect a printer to the PC, if you look at the back of your computer, for those who don't have newer computers, there will be a port with 25 pins and a small print…
Creating an auto free TStringList The TStringList is a basic and frequently used object in Delphi. On many occasions, you may want to create a temporary list, process some items in the list and be done with the list. In such cases, you have to…
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…
Hi friends,  in this video  I'll show you how new windows 10 user can learn the using of windows 10. Thank you.

867 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now