這是對大量的測試速度在一個緊湊的循環?
static bool IsEqual(Int16 a, Int16 b)
{
return a==b;
}
static bool IsEqual(Int32 a, Int32 b)
{
return a==b;
}
static bool IsEqual(Int64 a, Int64 b)
{
return a==b;
}
還是沒有區別?
這是對大量的測試速度在一個緊湊的循環?
static bool IsEqual(Int16 a, Int16 b)
{
return a==b;
}
static bool IsEqual(Int32 a, Int32 b)
{
return a==b;
}
static bool IsEqual(Int64 a, Int64 b)
{
return a==b;
}
還是沒有區別?
最好的事情就是對它進行基準測試並親自體驗。
通常,在32位體系結構中,應該沒有差別,或32應該更快(即使支持更小的整數,本機字大小通常是最快的)。同上64/64。
從理論上講,int16將比int32慢,因爲在進行比較之前,int16將被轉換爲該值。
實際上,這是一個小小的差異開始,它很可能會在很大程度上進行優化。因此,如果自然是int16,那麼不要僅僅爲了這個理論速度優勢而使用int32。但是,如果它只是「自然」整數,那麼使用int32而不是int16,因爲int32是.NET中的「正常」整數大小。
下面的鏈接可能重複。然而,這將幫助你 - http://stackoverflow.com/questions/129023/net-integer-vs-int16 – 2010-08-10 11:32:11