Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
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
Medium Priority
?
145 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
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
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
LVL 16

Assisted Solution

by:CodedK
CodedK earned 60 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
 

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 315 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

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Question has a verified solution.

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

Objective: - This article will help user in how to convert their numeric value become words. How to use 1. You can copy this code in your Unit as function 2. than you can perform your function by type this code The Code   (CODE) The Im…
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…
This is my first video review of Microsoft Bookings, I will be doing a part two with a bit more information, but wanted to get this out to you folks.
Want to learn how to record your desktop screen without having to use an outside camera. Click on this video and learn how to use the cool google extension called "Screencastify"! Step 1: Open a new google tab Step 2: Go to the left hand upper corn…
Suggested Courses

715 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