Advertisement
Advertisement
| 04.04.2008 at 01:20PM PDT, ID: 23297306 |
|
[x]
Attachment Details
|
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: |
use LWP::Simple;
use Time::HiRes qw( gettimeofday tv_interval );
use Win32;
use strict;
use Tk;
use Tk::Splashscreen;
use Tk::Animation;
use threads;
my $file = "http://www.bio.sdsu.edu/Pub/lewison/conservation/uploads/Main/hammernoggin.jpg";
my $filesize = 1112264;
my @kbps;
my @downTime;
threads->create(\&speedTest())->detach;
&doStuff;
sub speedTest
{
for(my $i=0;$i < 3; $i++)
{
my $t0 = [gettimeofday];
my $content = get($file);
die "Couldn't get it!" unless defined $content;
$downTime[$i] = sprintf("%.2f", tv_interval ($t0));
#math to figure download speed, added a 3.5% overhead.
$kbps[$i] = (($filesize/$downTime[$i])/1024)*1.035;
}
@kbps = sort {$b <=> $a} (@kbps);
@downTime = sort {$a <=> $b} (@downTime);
my $avg = sprintf("%.2f", ($kbps[0]+$kbps[1]+$kbps[2])/3);
#$sp->Destroy;
Win32::MsgBox("Your Speed Test has been competed\r\n[".$downTime[0]." sec. ".sprintf("%.2f",($filesize/1024))." kb file]\r\n\r\n".
"Avrage: ".$avg." kbps\r\n".
"Peak: ".sprintf("%.2f", $kbps[0])." kbps\r\n\r\n\r\n Razcon © 2008",
MB_ICONINFORMATION,'Speed Test');
}
sub doStuff
{
my $mw = MainWindow->new;
$mw->withdraw();
my $sp = $mw->Splashscreen;
my $progress = $sp->Animation(-file => "progress.gif", -format => "gif");
my $icon = $sp->Label(-image => $progress)->pack();
$progress->start_animation(150);
$sp->Splash();
$mw->MainLoop;
}
|