protected void Page_Load(object sender, EventArgs e)
    {
        var sw     = Stopwatch.StartNew();
        var galaxy = Globals.Galaxy;

        sw.Stop();
        Literal1.Text = "Fetch galaxy: " + sw.ElapsedMilliseconds + "ms<br>";
        sw            = Stopwatch.StartNew();
        var serverChanged = (DateTime?)HttpContext.Current.Application["lastChanged"];
        var chartDate     = (DateTime?)HttpContext.Current.Application["chartDate"];
        var charts        = (string[])HttpContext.Current.Application["charts"];

        string[] pwCharts;
        if (!serverChanged.HasValue || charts == null || chartDate.Value.AddMinutes(5) < serverChanged)
        {
            pwCharts = new PWCharts(galaxy).Charts;
            HttpContext.Current.Application["charts"] = pwCharts;
        }
        else
        {
            pwCharts = charts;
        }
        HttpContext.Current.Application["chartDate"] = DateTime.Now;
        sw.Stop();
        Literal1.Text += "Compute data: " + sw.ElapsedMilliseconds + "ms<br>";
        Literal1.Text += String.Concat(pwCharts.Select(s => String.Format("<img src=\"{0}\"><br>", s)).ToArray());
    }
    protected void Page_Load(object sender, EventArgs e)
    {

        var sw = Stopwatch.StartNew();
        var galaxy = Globals.Galaxy;
        sw.Stop();
        Literal1.Text = "Fetch galaxy: " + sw.ElapsedMilliseconds + "ms<br>";
        sw = Stopwatch.StartNew();
        var serverChanged = (DateTime?)HttpContext.Current.Application["lastChanged"];
        var chartDate = (DateTime?)HttpContext.Current.Application["chartDate"];
        var charts = (string[])HttpContext.Current.Application["charts"];
        string[] pwCharts;
        if (!serverChanged.HasValue || charts == null || chartDate.Value.AddMinutes(5) < serverChanged) {
            pwCharts = new PWCharts(galaxy).Charts;
            HttpContext.Current.Application["charts"] = pwCharts;
        } else {
            pwCharts = charts;
        }
        HttpContext.Current.Application["chartDate"] = DateTime.Now;
        sw.Stop();
        Literal1.Text += "Compute data: " + sw.ElapsedMilliseconds + "ms<br>";
        Literal1.Text += String.Concat(pwCharts.Select(s => String.Format("<img src=\"{0}\"><br>", s)).ToArray());
    }