DateTime.DayOfWeek Mikrooptimierung
Posted: 05 Jan 2025, 15:42
Zuallererst:
Diese Methode führt Folgendes aus:
Wäre es möglich, dies erneut zu implementieren, damit es schneller läuft?
- Ich stelle diese Frage nur zum Spaß und bin lernbegierig. Ich muss zugeben, dass ich es liebe, mit Mikrooptimierungen herumzuspielen (obwohl sie bei keiner meiner Entwicklungen zu einer nennenswerten Geschwindigkeitssteigerung geführt haben).
- Die DateTime.DayOfWeek-Methode stellt in keiner meiner Anwendungen einen Engpass dar.
- Und es ist < em>höchst unwahrscheinlich, dass es in irgendeinem anderen Fall ein Problem darstellt. Wenn jemand denkt, dass diese Methode einen Einfluss auf die Leistung seiner Anwendung hat,
sollte er darüber nachdenken, wann er optimieren muss, und dann eine Profilerstellung durchführen.
Code: Select all
public DayOfWeek DayOfWeek
{
[__DynamicallyInvokable, TargetedPatchingOptOut("Performance critical to inline across NGen image boundaries")]
get
{
return (DayOfWeek)((this.InternalTicks / 864000000000L + 1L) % 7L);
}
}
public long Ticks
{
[__DynamicallyInvokable, TargetedPatchingOptOut("Performance critical to inline this type of method across NGen image boundaries")]
get
{
return this.InternalTicks;
}
}
- Die Ticks, die dem aktuellen Tag entsprechen, werden durch die vorhandenen geteilt Anzahl der Ticks pro Tag.
- Wir addieren 1 zum obigen Ergebnis, damit der Rest der Division von 7 zwischen den Zahlen liegt 0 und 6.
Wäre es möglich, dies erneut zu implementieren, damit es schneller läuft?