Skip to content

Commit 5b798ce

Browse files
authored
Merge pull request #16 from sven-pohl/performance-improvement
Resolves #15
2 parents 109ba74 + 01ffffa commit 5b798ce

File tree

1 file changed

+8
-9
lines changed

1 file changed

+8
-9
lines changed

src/Application/src/RazorPagesTestSample/Pages/Index.cshtml.cs

Lines changed: 8 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,18 +72,17 @@ public async Task<IActionResult> OnPostAnalyzeMessagesAsync()
7272
}
7373
else
7474
{
75-
// Speed loop. Lower this number once every quarter so we
76-
// get our performance improvement quarterly bonus.
77-
for (int i = 0; i < 3000; i++) {
78-
Thread.Sleep(1);
79-
}
80-
8175
var wordCount = 0;
76+
object lockObject = new object();
8277

83-
foreach (var message in Messages)
78+
Parallel.ForEach(Messages, message =>
8479
{
85-
wordCount += message.Text.Split(' ').Length;
86-
}
80+
var count = message.Text.Split(' ').Length;
81+
lock (lockObject)
82+
{
83+
wordCount += count;
84+
}
85+
});
8786

8887
var avgWordCount = Decimal.Divide(wordCount, Messages.Count);
8988
MessageAnalysisResult = $"The average message length is {avgWordCount:0.##} words.";

0 commit comments

Comments
 (0)