Last active
May 23, 2020 12:15
-
-
Save amrkarthik/f846ba7374e07accd0a5e67ee0d8706c to your computer and use it in GitHub Desktop.
CPUCahceExperiment
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Linq; | |
using System.Text; | |
using System.Diagnostics; | |
public class Program | |
{ | |
private static int loopCount = 5000; | |
private static void GetStringByCombinedExecution(StringBuilder myFirstStringBuilder, | |
StringBuilder mySecondStringBuilder, | |
string sampleString) | |
{ | |
var timer = Stopwatch.StartNew(); | |
for (int i = 0; i < loopCount; i++) | |
{ | |
myFirstStringBuilder.Append(sampleString); | |
mySecondStringBuilder.Append(sampleString); | |
} | |
timer.Stop(); | |
Console.WriteLine($"Execution in single loop: {timer.Elapsed.TotalMilliseconds}"); | |
} | |
private static void GetStringBySeperateExecution(StringBuilder myFirstStringBuilder, | |
StringBuilder mySecondStringBuilder, | |
string sampleString) | |
{ | |
var timer = Stopwatch.StartNew(); | |
for (int i = 0; i < loopCount; i++) | |
{ | |
myFirstStringBuilder.Append(sampleString); | |
} | |
for (int i = 0; i < loopCount; i++) | |
{ | |
mySecondStringBuilder.Append(sampleString); | |
} | |
timer.Stop(); | |
Console.WriteLine($"Execution in seperate loops: {timer.Elapsed.TotalMilliseconds}"); | |
} | |
public static void Main() | |
{ | |
StringBuilder myFirstStringBuilder = new StringBuilder(); | |
StringBuilder mySecondStringBuilder = new StringBuilder(); | |
string sampleString = string.Join(" ", Enumerable.Repeat("Hello World", 1000)); | |
GetStringBySeperateExecution(myFirstStringBuilder, mySecondStringBuilder, sampleString); | |
GetStringByCombinedExecution(myFirstStringBuilder, mySecondStringBuilder, sampleString); | |
Console.ReadLine(); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment