-
Notifications
You must be signed in to change notification settings - Fork 5.2k
Clean up Stopwatch a bit #111834
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Clean up Stopwatch a bit #111834
Conversation
- Remove unnecessary Reset call from ctor - Remove unnecessary branch for _elapsed < 0 - Remove some defunct comments - Clean up style of Stop to match that of Start
Are the |
- Use expression-bodied properties - Remove unnecessary Debug.Asserts - Remove private method whose impl could just have been that of an existing public property - Change a private GetXx method to an Xx property. - Remove some type names that could be inferred
They're not needed. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice
/ba-g unrelated infra |
src/libraries/System.Private.CoreLib/src/System/Diagnostics/Stopwatch.cs
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM.
* main: (22 commits) Clean up Stopwatch a bit (dotnet#111834) JIT: Fix embedded broadcast simd size (dotnet#111638) Revert potential UB due to aliasing + more WB removals (dotnet#111733) re-enable acceleration of Vector512<long>.op_Multiply (dotnet#111832) Handle OSSL 3.4 change to SAN:othername formatting JIT: Fix stack allocated arrays for NativeAOT (dotnet#111827) JIT: enhance RBO inference for similar compares to constants (dotnet#111766) JIT: Don't run optSetBlockWeights when we have PGO data (dotnet#111764) [Android] Make sure RuntimeFlavor=CoreCLR when clr subset is specified (dotnet#111821) Change empty subject test certificate to include a critical SAN. Fix reversed code offsets in GcInfo (dotnet#111792) Swap some libraries areas between leads (dotnet#111816) Add left-handed spherical and cylindrical billboards (dotnet#109605) JIT: revise `optRelopImpliesRelop` to always set `reverseSense` (dotnet#111803) Fix Zip64ExtraField handling (dotnet#111802) Add build support for Android+CoreCLR (dotnet#110471) arm64: Add bic(s) compact encoding (dotnet#111452) JIT: Ensure `BBF_PROF_WEIGHT` flag is set when we have PGO data (dotnet#111780) Add support for AVX10.2, Add AVX10.2 API surface and template tests (dotnet#111209) JIT: Preliminary for enabling inlining late devirted calls (dotnet#111782) ...
Regarding negative values, I THINK I have observed this in the past and attributed it to either a daylight savings time adjustment or windows time synchronization. Maybe those are no longer issues but I wanted to share. |
It's worth reiterating that this special-casing was only in Stop. It didn't apply if you did: sw.Start();
...;
TimeSpan elapsed = sw.Elapsed; only if you did: sw.Start();
...;
sw.Stop();
TimeSpan elapsed = sw.Elapsed; That's true on .NET Framework as well. Given that, even if there are still some machines in circulation where this could manifest, I'm comfortable removing this one place it was being special-cased. |
Closes #66734
Related to #111829