Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We have speed problems in corporate enviroment.

Most of the notebooks are strongly loaded: the start-up time of Excel is 3-5 minutes, Outlook 10-15 minutes etc.

Our application has the same start-up time, instead of the normal 10-20 seconds. If once it started, after a program restart it works fine.

How is it possible to warm-up our application?

My first tought was to write a small script and run it right before our application startup:

  • connect to the local SQL Server and get some data
  • preload assemblies
  • ???

But I think it's not enough - or totally a mistake.


They have IBM Thinkpad X40 notebooks with 1GB RAM. Specialized Windows XP installed (I think this + background installers are the root of all our problems).

share|improve this question

migrated from Nov 12 '09 at 21:30

This question came from our site for professional and enthusiast programmers.

10 - 15 minutes to start Outlook! WTF? – PhilipW Nov 12 '09 at 17:07
Looks like someone needs to upgrade from those Pentium II's – Matthew Ruston Nov 12 '09 at 17:09
Repost to superuser. – Bobby Alexander Nov 12 '09 at 17:22
If other apps are taking that much to load, then surely no script will help your app. How fast does a simple console app take to load? – Groo Nov 12 '09 at 17:25
This is the classic software/hardware problem: hardware centric folks will say it's a problem with the software (eg, why not just switch to linux? it runs on 386s!) and software people will say it's just a hardware problem (oh come on, it's got to be because you're not using the latest Core Ikickass!) – Robert P Nov 12 '09 at 17:32

10 Answers 10

up vote 8 down vote accepted

If the machines are this grossly under-powered then I'd make the argument to your superiors that the problems lie in the companies IT provision to staff. I'd say any development time spent on this would be ill-spent.

share|improve this answer

Maybe a bit naive, but still... format & reinstal Windows :-)

share|improve this answer
The company has ~300 I said it's corporate environment. So that's not really an option:) – boj Nov 12 '09 at 17:08
on your box at home, maybe, but corporate IT doesn't work like that – gridzbi Nov 12 '09 at 17:10
If your corporate system doesn't have a way of mass-reformatting drives, buy one. It's worth it. – Robert P Nov 12 '09 at 17:43

Perhaps this is a roaming profile issue? I don't know about your program, but Excel and Outlook make significant use of the User folder, which is probably stored somewhere on your corporate network for each Active Directory account. My guess is that either the network or the storage system is too slow for your 300+ users.

share|improve this answer

What do you mean strongly loaded?

From your symptoms the problem might be that they do not have enough RAM. In which case when you start your applications they will have to swap previously running applications into virtual memory.

When you close that application and restart it straight away, you will have free RAM so it will restart quickly.

But it will do no good if you do something else in the meantime, i.e. open Outlook, close Outlook, open Excel - do some work, then if you open Outlook again it will not open quickly, i.e. your original suggestion to try and automatically open and close your application (at bootup?) won't help.

share|improve this answer
+1, exactly what I was thinking. – Heather Nov 12 '09 at 17:15
I mean something works always in the background: installers, security applications etc. I've tested it: the half of the RAM is empty (0.5GB), CPU usage is ~8-10%...but still soooo freakin' slow. – boj Nov 12 '09 at 17:22

Here is a nice article about speeding up an application start time.

Improving Application Startup Time

Over the few past months, the CLR performance team met with several customers to investigate performance issues in some of their applications. One recurring problem was client application startup time. So in this column, I'll present lessons we learned analyzing these applications.

Planning for Performance Your success in reaching your performance goals depends on the process you will be using. A good process can help you achieve the level of performance you need. These four simple rules will help:

share|improve this answer
good article... any chance we could get a summary excerpt rather than a teaser excerpt? – Jimmy Nov 12 '09 at 17:14

You should also consider distributed optimized native assemblies that will take some work off the JIT at startup/early app lifecycle time.

Have a look at NGEN, it's basically doing JIT at compile time, and some other preloading magic!

Cheers, Florian

share|improve this answer
I'll check it, thank you! – boj Nov 12 '09 at 19:27

You or someone with some influence should be able to make a solid case to management for lost productivity because of the exorbitant startup times. It should be clear that in a very short time the cost of upgrading RAM would pay for itself in increased productivity. Heck, if you have to wait 15 minutes four times a day (a conservative estimate, I'm sure), you lose 12.5% of your workday EVERY DAY. Multiply this by 300 laptops, and...

Oh--you must work for a federal agency!

share|improve this answer
that's agreed - but what can we do as small vendor against the big company?:) – boj Nov 12 '09 at 17:29

What are the metrics you see via Task Manager ?

Which Process is consuming the most CPU ?

Which Processes are consuming RAM ?

Is there an anti virus running in the background doing a full scan every time a computer starts ?

how many Page Faults by which processes ?

Whats the Configuration of Computers and which Softwares ?

share|improve this answer
They have normal values with CPU and RAM, I'll check your last 3 questions. But what's the meaning of page faults? (I'm using sysinternals process explorer, I have detailed page fault informations. Task Manager is disabled on the machines.) – boj Nov 12 '09 at 17:32
IBM Thinkpad X40 with specialized Windows XP. Software runs on .NET 1.1 and uses MSDE as database server. – boj Nov 12 '09 at 20:03

there are ways to Script out the belotion, on the system and various programs. both Deleting unnessisary garbage that is all over the system, and turning off "features" that often arent features at all. if i was in your situation, I would take ONE, and beat it down, and each time i found items of gluttony and laciviousness i would write that into my simple script. both out of the registry using very simple removal batchs, and off the disks , and out of the startup and services junk. then i would test that created formula on the machine i had, then borrow one more little piggy and remove its fat too. add in checking the network connection types and parameters for net connections.

once i was sure of full operation without belotion and sloth, i would run a quick backup on each machine, then do the ol Liposuction to it, and test its operation. one by one, re-delivering back to the users a workable machine. once the word got out, they would be flocking to you to have thiers done next.

share|improve this answer

As Simon hinted at above, this shouldn't be the type of issue you try to work around using a warmup script. I'd suggest serious hardware and software upgrades. I mean 15 minutes to start outlook?

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .