Приложение, которое я разрабатываю, работает слишком медленно.
Я запустил диагностику производительности Visual Studio и обнаружил, что одна функция выполнялась в 66% случаев, функция GetHashCode
следующий класс.
Public Class Identifier
Public Property Name As String
Public Overrides Function GetHashCode() As Integer
Return Name.ToUpper().GetHashCode()
End Function
Public Overrides Function Equals(other As Object) As Boolean
Dim otherIdentifier = TryCast(other, Identifier)
If otherIdentifier Is Nothing Then
Return False
Else
Return String.Equals(Name, otherIdentifier.Name, StringComparison.InvariantCultureIgnoreCase)
End If
End Function
End Class
Что меня еще больше удивляет, так это то, что на панели «Вызываемые функции» я читаю в терминах прошедшего времени включения:
- System.String.ToUpper (): 0,61%
- System.String.GetHashCode (): 0,21%
- Тело функции: 66,67%
Поскольку функция не выполняет ничего, кромевызовите функции ToUpper
и GetHashCode
, мне трудно понять, что я могу улучшить здесь.
Не могли бы вы помочь мне пролить свет на это?