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
138 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
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
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
Why You Should Analyze Threat Actor TTPs

After years of analyzing threat actor behavior, it’s become clear that at any given time there are specific tactics, techniques, and procedures (TTPs) that are particularly prevalent. By analyzing and understanding these TTPs, you can dramatically enhance your security program.

 

Author Comment

by:Alpha_AI
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
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

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

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…
In my programming career I have only very rarely run into situations where operator overloading would be of any use in my work.  Normally those situations involved math with either overly large numbers (hundreds of thousands of digits or accuracy re…
Polish reports in Access so they look terrific. Take yourself to another level. Equations, Back Color, Alternate Back Color. Write easy VBA Code. Tighten space to use less pages. Launch report from a menu, considering criteria only when it is filled…
When you create an app prototype with Adobe XD, you can insert system screens -- sharing or Control Center, for example -- with just a few clicks. This video shows you how. You can take the full course on Experts Exchange at http://bit.ly/XDcourse.

762 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

11 Experts available now in Live!

Get 1:1 Help Now