dotnet/runtime
在 GitHub 查看`Path.GetRandomFileName()` is 7 times slower on Linux compared to Windows
Open
#31,271 建立於 2019年10月23日
Hackathonarea-System.IOhelp wantedos-linuxtenet-performance
倉庫指標
- Star
- (17,886 star)
- PR 合併指標
- (平均合併 12天 11小時) (30 天內合併 661 個 PR)
描述
Path.GetRandomFileName() is 7 times slower on Linux compared to Windows.
| Slower | diff/base | Windows Median (ns) | Linux Median (ns) | Modality |
|---|---|---|---|---|
| System.IO.Tests.Perf_Path.GetRandomFileName | 7.48 | 100.47 | 751.86 |
The contributor who wants to work on this issue should:
- Run this simple benchmark from dotnet/performance repository and confirm the problem
git clone https://github.com/dotnet/performance.git
python3 ./performance/scripts/benchmarks_ci.py -f netcoreapp5.0 --filter System.IO.Tests.Perf_Path.GetRandomFileName
- Build CoreCLR locally: https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-corefx.md#Build
- Create a small repro app: https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-corefx.md#repro
- Use PerfCollect to identify issue https://github.com/dotnet/performance/blob/master/docs/profiling-workflow-corefx.md#PerfCollect
- Solve the issue