Udostępnij za pośrednictwem


.NET Framework Obciążenie wydajności reguł

Przepisy wydajności.NET Framework użycie kategorii określenia szczególnych metod, które mogą być zoptymalizowane, a także identyfikują upodobania bardziej ogólnych, takich jak odśmiecanie i rywalizacji blokad, które można zbadać problemy z wydajnością.

DA0001: Użyj StringBuilder dla relacyjne

Wzywa do String.Concat(String, String) są znaczna część danych profilowania.Należy wziąć pod uwagę przy użyciu StringBuilder klasy do konstruowania ciągi z wielu segmentów.

DA0005: GC2 częstych kolekcje

Relatywnie dużą liczbę.Obiekty pamięci netto są odzyskane w 2 bezużytecznych generacji.Jeśli zbyt wiele obiektów krótkotrwałe przetrwać bezużytecznych generacji 1, kosztów zarządzania pamięcią łatwo może być nadmierny.

DA0006: Zastępowanie Equals() dla typów wartości

Wzywa do Equals metody lub równości operatory typu wartość publicznego są znaczna część danych profilowania.Należy rozważyć zaimplementowanie bardziej efektywną metodą.

DA0007: Unikaj wyjątki dla kontroli przepływu

Wysoki stopień.Procedury obsługi wyjątków NET Framework były nazywane danych profilowania.Należy wziąć pod uwagę, aby zmniejszyć liczbę wyjątków, które są generowane przy użyciu innych logiki przepływu sterowania.

DA0010: Droga GetHashCode

Wzywa do GetHashCode metodę typu są znaczna część danych profilowania lub GetHashCode metoda przydziela pamięć.Należy zmniejszyć złożoność metody.

DA0011: Droga CompareTo

CompareTo Metodę typu jest kosztowne lub metoda przydziela pamięć.Należy zmniejszyć złożoność CompareTo metody.

DA0012: Znaczną ilość odbicia

Wzywa do System.Reflection metod, takich jak InvokeMember i GetMember lub metod typu, takich jak InvokeMember są znaczna część danych profilowania.Jeśli to możliwe, należy rozważyć zastąpienie tych metod wczesnego wiązania metod zależne zestawy.

DA0013: Intensywnego korzystania z String.Split lub String.Substring

Wzywa do String.Split lub Substring metody są znaczną część danych profilowania.Należy wziąć pod uwagę przy użyciu IndexOf lub IndexOfAny Jeśli testujesz istnienie podciągu w ciągu.

DA0018: aplikacje 32-bitowe uruchomione w procesie zarządzane limity pamięci

Wskazuje dane systemowe, które są zbierane podczas uruchomienia profilowania.NET Framework pamięci sterty zwrócił się maksymalny rozmiar, który zarządzanych stosach można osiągnąć w procesie 32-bitowych.Należy wziąć pod uwagę profilowanie ponownie przy użyciu.NET pamięci profilowania metody i optymalizacji wykorzystania zasobów zarządzanych przez aplikację.

DA0021: Wysoki stopień kolekcji garbage Gen 1

Relatywnie dużą liczbę.Obiekty pamięci netto są odzyskane w 1 bezużytecznych generacji.Jeśli zbyt wiele obiektów krótkotrwałe przetrwać bezużytecznych generacji 0, kosztów zarządzania pamięcią łatwo może być nadmierny.

DA0022: Wysoki stopień kolekcji garbage Gen 2

Dużą liczbę.Obiekty pamięci netto są odzyskane w 2 bezużytecznych generacji.Jeśli zbyt wiele obiektów krótkotrwałe przetrwać bezużytecznych generacji 1, kosztów zarządzania pamięcią łatwo może być nadmierny.Ta reguła pożary, gdy wskaźnik blokady twierdzeniom przekracza wartość górnego progu reguła DA0005.

DA0023: Czas Procesora GC wysokiej

Dane dotyczące wydajności systemu zebrane podczas profilowania wskazuje, że ilość czasu, który rozkłada się w kolekcji garbage jest znaczące w porównaniu z czasem przetwarzania aplikacji razem.

DA0024: Czas Procesora GC nadmierne

Dane dotyczące wydajności systemu zebrane podczas profilowania wskazuje, że ilość czasu, który rozkłada się w kolekcji garbage jest nadmiernie wysokie w porównaniu z czasem przetwarzania aplikacji razem.Ta reguła pożary, gdy ilość czasu spędzanego w kolekcji garbage przekracza wartość górnego progu reguła DA0023.

DA0038: Twierdzeniom wysokie stawki Lock

Dane wydajności systemu, zebrane z danymi profilowania wskazuje, że znaczny stopień twierdzeniom lock wystąpił podczas wykonywania aplikacji.Należy wziąć pod uwagę profilowanie ponownie znaleźć przyczynę twierdzeniom przy użyciu współbieżności, metoda profilowania.

DA0039: Bardzo wysokie stawki z blokady twierdzeniom

Dane wydajności systemu, zebrane z danymi profilowania wskazuje, że zbyt wysoki stopień twierdzeniom lock wystąpił podczas wykonywania aplikacji.Należy wziąć pod uwagę profilowanie ponownie znaleźć przyczynę twierdzeniom przy użyciu współbieżności, metoda profilowania.Ta reguła pożary, gdy wskaźnik blokady twierdzeniom przekracza wartość górnego progu reguła DA0038.