I need a slow C# function

Sisiutl picture Sisiutl · Oct 21, 2012 · Viewed 13.7k times · Source

For some testing I'm doing I need a C# function that takes around 10 seconds to execute. It will be called from an ASPX page, but I need the function to eat up CPU time on the server, not rendering time. A slow query into the Northwinds database would work, or some very slow calculations. Any ideas?

Answer

Parag Meshram picture Parag Meshram · Oct 21, 2012

Try to calculate nth prime number to simulate CPU intensive work -

public void Slow()
{
    long nthPrime = FindPrimeNumber(1000); //set higher value for more time
}

public long FindPrimeNumber(int n)
{
    int count=0;
    long a = 2;
    while(count<n)
    {
        long b = 2;
        int prime = 1;// to check if found a prime
        while(b * b <= a)
        {
            if(a % b == 0)
            {
                prime = 0;
                break;
            }
            b++;
        }
        if(prime > 0)
        {
            count++;
        }
        a++;
    }
    return (--a);
}

How much time it will take will depend on the hardware configuration of the system.

So try with input as 1000 then either increase input value or decrease it.

This function will simulate CPU intensive work.