using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace StringTest
{
class Program
{
static int _hitCounter = 0;
static void Main( string[] args )
{
var sw = new Stopwatch();
Console.WriteLine( "TestPattern1" );
foreach( var i in Enumerable.Range( 1, 3 ) )
{
_hitCounter = 0;
sw.Reset();
sw.Start();
foreach( var j in Enumerable.Range( 0, 10000000 ) )
stringCaseTestPattern1();
sw.Stop();
Console.WriteLine( "test{0} elapsed:{1}msec hitCounter:{2}", i, sw.ElapsedMilliseconds, _hitCounter );
}
Console.WriteLine( "" );
Console.WriteLine( "TestPattern2" );
foreach( var i in Enumerable.Range( 1, 3 ) )
{
_hitCounter = 0;
sw.Reset();
sw.Start();
foreach( var j in Enumerable.Range( 0, 10000000 ) )
stringCaseTestPattern1();
sw.Stop();
Console.WriteLine( "test{0} elapsed:{1}msec hitCounter:{2}", i, sw.ElapsedMilliseconds, _hitCounter );
}
Console.WriteLine( "" );
Console.WriteLine( "TestPattern3" );
foreach( var i in Enumerable.Range( 1, 3 ) )
{
_hitCounter = 0;
sw.Reset();
sw.Start();
foreach( var j in Enumerable.Range( 0, 10000000 ) )
stringCaseTestPattern3();
sw.Stop();
Console.WriteLine( "test{0} elapsed:{1}msec hitCounter:{2}", i, sw.ElapsedMilliseconds, _hitCounter );
}
Console.WriteLine( "" );
Console.WriteLine( "TestPattern4" );
foreach( var i in Enumerable.Range( 1, 3 ) )
{
_hitCounter = 0;
sw.Reset();
sw.Start();
foreach( var j in Enumerable.Range( 0, 10000000 ) )
stringCaseTest["stringcasetest050"]();
sw.Stop();
Console.WriteLine( "test{0} elapsed:{1}msec hitCounter:{2}", i, sw.ElapsedMilliseconds, _hitCounter );
}
Console.WriteLine( "" );
}
private static void stringCaseTestPattern1()
{
var srchStr = "casestringtest001";
switch( srchStr )
{
case "casestringtest001": _hitCounter++; break;
case "casestringtest002": break;
case "casestringtest003": break;
case "casestringtest004": break;
case "casestringtest005": break;
case "casestringtest006": break;
case "casestringtest007": break;
case "casestringtest008": break;
case "casestringtest009": break;
case "casestringtest010": break;
case "casestringtest011": break;
case "casestringtest012": break;
case "casestringtest013": break;
case "casestringtest014": break;
case "casestringtest015": break;
case "casestringtest016": break;
case "casestringtest017": break;
case "casestringtest018": break;
case "casestringtest019": break;
case "casestringtest020": break;
case "casestringtest021": break;
case "casestringtest022": break;
case "casestringtest023": break;
case "casestringtest024": break;
case "casestringtest025": break;
case "casestringtest026": break;
case "casestringtest027": break;
case "casestringtest028": break;
case "casestringtest029": break;
case "casestringtest030": break;
case "casestringtest031": break;
case "casestringtest032": break;
case "casestringtest033": break;
case "casestringtest034": break;
case "casestringtest035": break;
case "casestringtest036": break;
case "casestringtest037": break;
case "casestringtest038": break;
case "casestringtest039": break;
case "casestringtest040": break;
case "casestringtest041": break;
case "casestringtest042": break;
case "casestringtest043": break;
case "casestringtest044": break;
case "casestringtest045": break;
case "casestringtest046": break;
case "casestringtest047": break;
case "casestringtest048": break;
case "casestringtest049": break;
case "casestringtest050": break;
case "stringcasetest001": break;
case "stringcasetest002": break;
case "stringcasetest003": break;
case "stringcasetest004": break;
case "stringcasetest005": break;
case "stringcasetest006": break;
case "stringcasetest007": break;
case "stringcasetest008": break;
case "stringcasetest009": break;
case "stringcasetest010": break;
case "stringcasetest011": break;
case "stringcasetest012": break;
case "stringcasetest013": break;
case "stringcasetest014": break;
case "stringcasetest015": break;
case "stringcasetest016": break;
case "stringcasetest017": break;
case "stringcasetest018": break;
case "stringcasetest019": break;
case "stringcasetest020": break;
case "stringcasetest021": break;
case "stringcasetest022": break;
case "stringcasetest023": break;
case "stringcasetest024": break;
case "stringcasetest025": break;
case "stringcasetest026": break;
case "stringcasetest027": break;
case "stringcasetest028": break;
case "stringcasetest029": break;
case "stringcasetest030": break;
case "stringcasetest031": break;
case "stringcasetest032": break;
case "stringcasetest033": break;
case "stringcasetest034": break;
case "stringcasetest035": break;
case "stringcasetest036": break;
case "stringcasetest037": break;
case "stringcasetest038": break;
case "stringcasetest039": break;
case "stringcasetest040": break;
case "stringcasetest041": break;
case "stringcasetest042": break;
case "stringcasetest043": break;
case "stringcasetest044": break;
case "stringcasetest045": break;
case "stringcasetest046": break;
case "stringcasetest047": break;
case "stringcasetest048": break;
case "stringcasetest049": break;
case "stringcasetest050": break;
}
}
private static void stringCaseTestPattern2()
{
var srchStr = "stringcasetest050";
switch( srchStr )
{
case "casestringtest001": break;
case "casestringtest002": break;
case "casestringtest003": break;
case "casestringtest004": break;
case "casestringtest005": break;
case "casestringtest006": break;
case "casestringtest007": break;
case "casestringtest008": break;
case "casestringtest009": break;
case "casestringtest010": break;
case "casestringtest011": break;
case "casestringtest012": break;
case "casestringtest013": break;
case "casestringtest014": break;
case "casestringtest015": break;
case "casestringtest016": break;
case "casestringtest017": break;
case "casestringtest018": break;
case "casestringtest019": break;
case "casestringtest020": break;
case "casestringtest021": break;
case "casestringtest022": break;
case "casestringtest023": break;
case "casestringtest024": break;
case "casestringtest025": break;
case "casestringtest026": break;
case "casestringtest027": break;
case "casestringtest028": break;
case "casestringtest029": break;
case "casestringtest030": break;
case "casestringtest031": break;
case "casestringtest032": break;
case "casestringtest033": break;
case "casestringtest034": break;
case "casestringtest035": break;
case "casestringtest036": break;
case "casestringtest037": break;
case "casestringtest038": break;
case "casestringtest039": break;
case "casestringtest040": break;
case "casestringtest041": break;
case "casestringtest042": break;
case "casestringtest043": break;
case "casestringtest044": break;
case "casestringtest045": break;
case "casestringtest046": break;
case "casestringtest047": break;
case "casestringtest048": break;
case "casestringtest049": break;
case "casestringtest050": break;
case "stringcasetest001": break;
case "stringcasetest002": break;
case "stringcasetest003": break;
case "stringcasetest004": break;
case "stringcasetest005": break;
case "stringcasetest006": break;
case "stringcasetest007": break;
case "stringcasetest008": break;
case "stringcasetest009": break;
case "stringcasetest010": break;
case "stringcasetest011": break;
case "stringcasetest012": break;
case "stringcasetest013": break;
case "stringcasetest014": break;
case "stringcasetest015": break;
case "stringcasetest016": break;
case "stringcasetest017": break;
case "stringcasetest018": break;
case "stringcasetest019": break;
case "stringcasetest020": break;
case "stringcasetest021": break;
case "stringcasetest022": break;
case "stringcasetest023": break;
case "stringcasetest024": break;
case "stringcasetest025": break;
case "stringcasetest026": break;
case "stringcasetest027": break;
case "stringcasetest028": break;
case "stringcasetest029": break;
case "stringcasetest030": break;
case "stringcasetest031": break;
case "stringcasetest032": break;
case "stringcasetest033": break;
case "stringcasetest034": break;
case "stringcasetest035": break;
case "stringcasetest036": break;
case "stringcasetest037": break;
case "stringcasetest038": break;
case "stringcasetest039": break;
case "stringcasetest040": break;
case "stringcasetest041": break;
case "stringcasetest042": break;
case "stringcasetest043": break;
case "stringcasetest044": break;
case "stringcasetest045": break;
case "stringcasetest046": break;
case "stringcasetest047": break;
case "stringcasetest048": break;
case "stringcasetest049": break;
case "stringcasetest050": _hitCounter++; break;
}
}
private static void stringCaseTestPattern3()
{
var srchStr = "stringcasetest050";
char firstChar = srchStr[0];
switch( firstChar )
{
case 'c':
switch( srchStr )
{
case "casestringtest001": break;
case "casestringtest002": break;
case "casestringtest003": break;
case "casestringtest004": break;
case "casestringtest005": break;
case "casestringtest006": break;
case "casestringtest007": break;
case "casestringtest008": break;
case "casestringtest009": break;
case "casestringtest010": break;
case "casestringtest011": break;
case "casestringtest012": break;
case "casestringtest013": break;
case "casestringtest014": break;
case "casestringtest015": break;
case "casestringtest016": break;
case "casestringtest017": break;
case "casestringtest018": break;
case "casestringtest019": break;
case "casestringtest020": break;
case "casestringtest021": break;
case "casestringtest022": break;
case "casestringtest023": break;
case "casestringtest024": break;
case "casestringtest025": break;
case "casestringtest026": break;
case "casestringtest027": break;
case "casestringtest028": break;
case "casestringtest029": break;
case "casestringtest030": break;
case "casestringtest031": break;
case "casestringtest032": break;
case "casestringtest033": break;
case "casestringtest034": break;
case "casestringtest035": break;
case "casestringtest036": break;
case "casestringtest037": break;
case "casestringtest038": break;
case "casestringtest039": break;
case "casestringtest040": break;
case "casestringtest041": break;
case "casestringtest042": break;
case "casestringtest043": break;
case "casestringtest044": break;
case "casestringtest045": break;
case "casestringtest046": break;
case "casestringtest047": break;
case "casestringtest048": break;
case "casestringtest049": break;
case "casestringtest050": break;
}
break;
case 's':
switch( srchStr )
{
case "stringcasetest001": break;
case "stringcasetest002": break;
case "stringcasetest003": break;
case "stringcasetest004": break;
case "stringcasetest005": break;
case "stringcasetest006": break;
case "stringcasetest007": break;
case "stringcasetest008": break;
case "stringcasetest009": break;
case "stringcasetest010": break;
case "stringcasetest011": break;
case "stringcasetest012": break;
case "stringcasetest013": break;
case "stringcasetest014": break;
case "stringcasetest015": break;
case "stringcasetest016": break;
case "stringcasetest017": break;
case "stringcasetest018": break;
case "stringcasetest019": break;
case "stringcasetest020": break;
case "stringcasetest021": break;
case "stringcasetest022": break;
case "stringcasetest023": break;
case "stringcasetest024": break;
case "stringcasetest025": break;
case "stringcasetest026": break;
case "stringcasetest027": break;
case "stringcasetest028": break;
case "stringcasetest029": break;
case "stringcasetest030": break;
case "stringcasetest031": break;
case "stringcasetest032": break;
case "stringcasetest033": break;
case "stringcasetest034": break;
case "stringcasetest035": break;
case "stringcasetest036": break;
case "stringcasetest037": break;
case "stringcasetest038": break;
case "stringcasetest039": break;
case "stringcasetest040": break;
case "stringcasetest041": break;
case "stringcasetest042": break;
case "stringcasetest043": break;
case "stringcasetest044": break;
case "stringcasetest045": break;
case "stringcasetest046": break;
case "stringcasetest047": break;
case "stringcasetest048": break;
case "stringcasetest049": break;
case "stringcasetest050": _hitCounter++; break;
}
break;
}
}
private static Dictionary<string, Action> stringCaseTest = new Dictionary<string, Action>
{
{"casestringtest001", new Action(()=> { ; }) },
{"casestringtest002", new Action(()=> { ; }) },
{"casestringtest003", new Action(()=> { ; }) },
{"casestringtest004", new Action(()=> { ; }) },
{"casestringtest005", new Action(()=> { ; }) },
{"casestringtest006", new Action(()=> { ; }) },
{"casestringtest007", new Action(()=> { ; }) },
{"casestringtest008", new Action(()=> { ; }) },
{"casestringtest009", new Action(()=> { ; }) },
{"casestringtest010", new Action(()=> { ; }) },
{"casestringtest011", new Action(()=> { ; }) },
{"casestringtest012", new Action(()=> { ; }) },
{"casestringtest013", new Action(()=> { ; }) },
{"casestringtest014", new Action(()=> { ; }) },
{"casestringtest015", new Action(()=> { ; }) },
{"casestringtest016", new Action(()=> { ; }) },
{"casestringtest017", new Action(()=> { ; }) },
{"casestringtest018", new Action(()=> { ; }) },
{"casestringtest019", new Action(()=> { ; }) },
{"casestringtest020", new Action(()=> { ; }) },
{"casestringtest021", new Action(()=> { ; }) },
{"casestringtest022", new Action(()=> { ; }) },
{"casestringtest023", new Action(()=> { ; }) },
{"casestringtest024", new Action(()=> { ; }) },
{"casestringtest025", new Action(()=> { ; }) },
{"casestringtest026", new Action(()=> { ; }) },
{"casestringtest027", new Action(()=> { ; }) },
{"casestringtest028", new Action(()=> { ; }) },
{"casestringtest029", new Action(()=> { ; }) },
{"casestringtest030", new Action(()=> { ; }) },
{"casestringtest031", new Action(()=> { ; }) },
{"casestringtest032", new Action(()=> { ; }) },
{"casestringtest033", new Action(()=> { ; }) },
{"casestringtest034", new Action(()=> { ; }) },
{"casestringtest035", new Action(()=> { ; }) },
{"casestringtest036", new Action(()=> { ; }) },
{"casestringtest037", new Action(()=> { ; }) },
{"casestringtest038", new Action(()=> { ; }) },
{"casestringtest039", new Action(()=> { ; }) },
{"casestringtest040", new Action(()=> { ; }) },
{"casestringtest041", new Action(()=> { ; }) },
{"casestringtest042", new Action(()=> { ; }) },
{"casestringtest043", new Action(()=> { ; }) },
{"casestringtest044", new Action(()=> { ; }) },
{"casestringtest045", new Action(()=> { ; }) },
{"casestringtest046", new Action(()=> { ; }) },
{"casestringtest047", new Action(()=> { ; }) },
{"casestringtest048", new Action(()=> { ; }) },
{"casestringtest049", new Action(()=> { ; }) },
{"casestringtest050", new Action(()=> { ; }) },
{"stringcasetest001", new Action(()=> { ; }) },
{"stringcasetest002", new Action(()=> { ; }) },
{"stringcasetest003", new Action(()=> { ; }) },
{"stringcasetest004", new Action(()=> { ; }) },
{"stringcasetest005", new Action(()=> { ; }) },
{"stringcasetest006", new Action(()=> { ; }) },
{"stringcasetest007", new Action(()=> { ; }) },
{"stringcasetest008", new Action(()=> { ; }) },
{"stringcasetest009", new Action(()=> { ; }) },
{"stringcasetest010", new Action(()=> { ; }) },
{"stringcasetest011", new Action(()=> { ; }) },
{"stringcasetest012", new Action(()=> { ; }) },
{"stringcasetest013", new Action(()=> { ; }) },
{"stringcasetest014", new Action(()=> { ; }) },
{"stringcasetest015", new Action(()=> { ; }) },
{"stringcasetest016", new Action(()=> { ; }) },
{"stringcasetest017", new Action(()=> { ; }) },
{"stringcasetest018", new Action(()=> { ; }) },
{"stringcasetest019", new Action(()=> { ; }) },
{"stringcasetest020", new Action(()=> { ; }) },
{"stringcasetest021", new Action(()=> { ; }) },
{"stringcasetest022", new Action(()=> { ; }) },
{"stringcasetest023", new Action(()=> { ; }) },
{"stringcasetest024", new Action(()=> { ; }) },
{"stringcasetest025", new Action(()=> { ; }) },
{"stringcasetest026", new Action(()=> { ; }) },
{"stringcasetest027", new Action(()=> { ; }) },
{"stringcasetest028", new Action(()=> { ; }) },
{"stringcasetest029", new Action(()=> { ; }) },
{"stringcasetest030", new Action(()=> { ; }) },
{"stringcasetest031", new Action(()=> { ; }) },
{"stringcasetest032", new Action(()=> { ; }) },
{"stringcasetest033", new Action(()=> { ; }) },
{"stringcasetest034", new Action(()=> { ; }) },
{"stringcasetest035", new Action(()=> { ; }) },
{"stringcasetest036", new Action(()=> { ; }) },
{"stringcasetest037", new Action(()=> { ; }) },
{"stringcasetest038", new Action(()=> { ; }) },
{"stringcasetest039", new Action(()=> { ; }) },
{"stringcasetest040", new Action(()=> { ; }) },
{"stringcasetest041", new Action(()=> { ; }) },
{"stringcasetest042", new Action(()=> { ; }) },
{"stringcasetest043", new Action(()=> { ; }) },
{"stringcasetest044", new Action(()=> { ; }) },
{"stringcasetest045", new Action(()=> { ; }) },
{"stringcasetest046", new Action(()=> { ; }) },
{"stringcasetest047", new Action(()=> { ; }) },
{"stringcasetest048", new Action(()=> { ; }) },
{"stringcasetest049", new Action(()=> { ; }) },
{"stringcasetest050", new Action(()=> { _hitCounter++; }) },
};
}
}