Skip to content

Commit 0ca3442

Browse files
committed
Refactor message analysis logic for improved performance. Resolves #12
1 parent 11a0656 commit 0ca3442

File tree

1 file changed

+11
-17
lines changed

1 file changed

+11
-17
lines changed

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

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -68,26 +68,20 @@ public async Task<IActionResult> OnPostAnalyzeMessagesAsync()
6868

6969
if (Messages.Count == 0)
7070
{
71-
MessageAnalysisResult = "There are no messages to analyze.";
71+
MessageAnalysisResult = "There are no messages to analyze.";
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-
{
79-
Thread.Sleep(1);
80-
}
81-
82-
var wordCount = 0;
83-
84-
foreach (var message in Messages)
85-
{
86-
wordCount += message.Text.Split(' ').Length;
87-
}
88-
89-
var avgWordCount = Decimal.Divide(wordCount, Messages.Count);
90-
MessageAnalysisResult = $"The average message length is {avgWordCount:0.##} words.";
75+
// Removed the unnecessary delay loop for performance improvement
76+
var wordCount = 0;
77+
78+
foreach (var message in Messages)
79+
{
80+
wordCount += message.Text.Split(' ', StringSplitOptions.RemoveEmptyEntries).Length;
81+
}
82+
83+
var avgWordCount = (decimal)wordCount / Messages.Count;
84+
MessageAnalysisResult = $"The average message length is {avgWordCount:0.##} words.";
9185
}
9286

9387
return RedirectToPage();

0 commit comments

Comments
 (0)