[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 260
  • Last Modified:

Improve the speed of executing an executable file

I am using HP Trusted OS v10.26
I have an executable file named "test" of size of 10MB.
I put a system("date") command in my first line of my code
eg main()
     {
               system("date");
               ............
     }
I create a script file run.exe with the following:
date
system("test");

When I run this script, I found out that the date in the first line of the script and the date in the first line of the executable file is 5-8seconds.

My boss wants to run the executable file and complete within less than 5 seconds but this alone has already taken 5-8 sec.
Can anyone provide me with a solution on how to reduce the speed of the
execution? Thanks
0
wmlim060298
Asked:
wmlim060298
1 Solution
 
freesourceCommented:
What language is the executable written in?

You may want to break it up into smaller programs, or make it more modular.  It's hard to give good advice without know what the test program does or in what manner it was written.
0
 
wmlim060298Author Commented:
The program is written in C++. Anyway, does it matter what language is it written in?
This is because I want to improve the speed of the program from the time it is executed to the time the execution starts, i.e. the main command in the main() is not called yet.
Look at my script.

I think maybe it is due to the loading of the program into the memory before execution that takes such a long time, is there any where I can improve this time?

I cannot break the program up, this is the optimised size. I even strip the executable file.
0
 
ahoffmannCommented:
1. insert more RAM
2. use a faster disk
3. compile/link as shared executable
4. replace system() by the appropriate libc-call, for example: time()
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
bedotCommented:
beware at the name test, which is a reserved word of the shell;

HP needs more and more processes, sometimes for only a job;

try to use system calls to obtain the time rather than the system routine that need to launch another shell

try to identify where you loss so much time: in the program itself, or in the calling of the system function: to do that, make a short cut in your program;
in this maneer, you can found the part of your program where you loss so much time.

use the top command and the sar command to survey the time consumption in your system

good luck !
0
 
ahoffmannCommented:
> try to identify where you loss so much time: ...
it's obvious: 10MB need to be loaded first
beside my suggestions 1. .. 3. you also may tune the kernel how it distributes the timeslices for each process
0
 
wmlim060298Author Commented:
I cannot  insert more RAM because no more money to buy more RAMs.
I cannot buy faster disk also because of same reason
I have already compile/link my exeuctable file using shared library
To replace system() by the appropriate libc-call, for example: time() is not a solution for me to solve my problem.

However, I think tuning the kernel maybe able to solve my problem. Please advise me on this tuning. How can I do it?
0
 
ahoffmannCommented:
which OS, which shell?
0
 
ahoffmannCommented:
oops, have just seen HP 10.26 in the question. Sorry no expert-experiance with this for kernel tuning.
But you may try to stop as much processes as possible, and then try again to start your applikation.
Start your applikation with the time command, several times close to each other, and post the results.

> .. time() is not a solution for me to solve my problem.
why?
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now