কিছু (গতি) পারফরম্যান্স পরীক্ষা বিভিন্ন বিকল্পের সংক্ষিপ্তসার করে, এটি আসলে # মাইক্রোপটিমাইজেশনের ( লিনকপ্যাড এক্সটেনশন ব্যবহার করে ) গুরুত্বপূর্ণ নয়
বিকল্পগুলি
void Main()
{
object objValue = null;
test(objValue);
string strValue = null;
test(strValue);
}
void test(string value) {
new Perf<string> {
{ "coallesce", n => (value ?? string.Empty).ToString() },
{ "nullcheck", n => value == null ? string.Empty : value.ToString() },
{ "str.Format", n => string.Format("{0}", value) },
{ "str.Concat", n => string.Concat(value) },
{ "string +", n => "" + value },
{ "Convert", n => Convert.ToString(value) },
}.Vs();
}
void test(object value) {
new Perf<string> {
{ "coallesce", n => (value ?? string.Empty).ToString() },
{ "nullcheck", n => value == null ? string.Empty : value.ToString() },
{ "str.Format", n => string.Format("{0}", value) },
{ "str.Concat", n => string.Concat(value) },
{ "string +", n => "" + value },
{ "Convert", n => Convert.ToString(value) },
}.Vs();
}
এটি উল্লেখ করা সম্ভবত গুরুত্বপূর্ণ যে এটি Convert.ToString(...)নাল স্ট্রিং ধরে রাখবে।
ফলাফল
অবজেক্ট
- নালচেক 1.00x 1221 টিকগুলি কেটে গেছে (0.1221 এমএস) [10 কে রেপিতে, 1.221E-05 এমএস প্রতি]
- কয়লাশী 1.14x 1387 টিকগুলি বিভক্ত (0.1387 এমএস) [10 কে রেপিতে, 1.387E-05 এমএস প্রতি]
- স্ট্রিং + 1.16x 1415 টিকগুলি কেটে গেছে (0.1415 এমএস) [10 কে রেপিতে, 1.415E-05 এমএস প্রতি]
- str.Cccat 1.16x 1420 টিকগুলি কেটে গেছে (0.142 এমএস) [10 কে রেপিতে, 1.42E-05 এমএস প্রতি]
- 1.58x 1931 টিকগুলি কেটে গেছে (0.1931 এমএস) [10 কে রেপিতে, 1.931E-05 এমএস প্রতি]
- str. Format 5.45x 6655 টিক্স কেটে গেছে (0.6655 এমএস) [10 কে রেপিতে, 6.655E-05 এমএস প্রতি]
স্ট্রিং
- নালচেক 1.00x 1190 টিকগুলি কেটে গেছে (0.119 এমএস) [10 কে রেপিতে, 1.19E-05 এমএস প্রতি]
- 1.01x 1200 টিকগুলি কেটে গেছে (0.12 এমএস) রূপান্তর করুন [10 কে রেপিতে, 1.2E-05 এমএস প্রতি]
- স্ট্রিং + 1.04x 1239 টিকগুলি বিভক্ত (0.1239 এমএস) [10 কে রেপিতে, 1.239E-05 এমএস প্রতি]
- কয়লাশী 1.20x 1423 টিকগুলি কেটে গেছে (0.1423 এমএস) [10 কে রেপিতে, 1.423E-05 এমএস প্রতি]
- str.Concat 4.57x 5444 টিক্স কেটে গেছে (0.5444 এমএস) [10 কে রেপে, 5.444E-05 এমএস প্রতি]
- str. Format 5.67x 6750 টিক্স কেটে গেছে (0.675 এমএস) [10 কে রেপিতে, 6.75E-05 এমএস প্রতি]