mẫu:
# Step 1
$start = get-date
for($i=1; $i -le 1000000; $i++){}
$end = get-date
($end-$start).TotalMilliseconds
Remove-Variable i
# Step 2
$start = get-date
for([int]$i=1; $i -le 1000000; $i++){}
$end = get-date
($end-$start).TotalMilliseconds
Remove-Variable i
# Step 3
$start = get-date
for([int64]$i=1; $i -le 1000000; $i++){}
$end = get-date
($end-$start).TotalMilliseconds
Remove-Variable i
# Step 4
$start = get-date
for([float]$i=1; $i -le 1000000; $i++){}
$end = get-date
($end-$start).TotalMilliseconds
Remove-Variable i
# Step 5
$start = get-date
for([double]$i=1; $i -le 1000000; $i++){}
$end = get-date
($end-$start).TotalMilliseconds
Remove-Variable i
# Step 6
$start = get-date
for($i=1; $i -le 1000000; $i++){}
$end = get-date
($end-$start).TotalMilliseconds
Remove-Variable i
Kết quả:
1845,1056
3160,1808
5029,2877
5521,3158
4504,2576
1804,1032
không có câu hỏi về sự khác biệt giữa các bước 2-6. Nhưng sự khác biệt giữa 1 và 2 và 6 là không thể giải thích: $ i trong các trường hợp này có loại "System.Int32".
Tôi thấy các kết quả tương tự như bạn. –
Không có gì sai với cách bạn đang đo thời gian thực hiện, nhưng để thử nghiệm trong tương lai bạn có thể muốn kiểm tra điều này tại dấu nhắc: get-help Measure-Command – EBGreen
Điều thú vị là bạn làm '$ i = new -object-type Int64' hoặc '$ i = new-object -type Int32' và sau đó là' for ($ i = 1; $ i -le 1000000; $ i ++) {} ', bạn nhận được kết quả tương tự trên bảng (cho ints). Một cái gì đó trong toán tử cast đó có lẽ ... – zdan