何かが違うはず。ということで、パフォーマンスの比較をやってみました。
コードがアレなので、違いが出なかっただけかもしれませんが。ほとんど誤差レベルしか差が出ませんでした。
ちなみに、static readonlyをstaticにしましたが、あまり変化が無く、誤差レベルでした。
そういう意味で(どういう意味だ?)staticで定義しておけばアセンブリが分かれてもリビルドが不要なため、staticのほうがいいといえるのかも知れません。
static readonly string STATIC_READONLY_STR = "aaaa";
const string CONST_STR = "aaaa";
// -----------------------------------
for (int cnt = 0; cnt < max; cnt++)
{
if (CONST_STR == "aaaa")
{
dummy++;
}
else
{
dummy--;
}
}
//-----------------------------------
for (int cnt = 0; cnt < max; cnt++)
{
if (STATIC_READONLY_STR == "aaaa")
{
dummy++;
}
else
{
dummy--;
}
}
const string CONST_STR = "aaaa";
// -----------------------------------
for (int cnt = 0; cnt < max; cnt++)
{
if (CONST_STR == "aaaa")
{
dummy++;
}
else
{
dummy--;
}
}
//-----------------------------------
for (int cnt = 0; cnt < max; cnt++)
{
if (STATIC_READONLY_STR == "aaaa")
{
dummy++;
}
else
{
dummy--;
}
}
0 件のコメント:
コメントを投稿