Nbench: dotnet-nbenchλŠ” μ‹€μˆ˜λ‘œ μ–΄μ…ˆλΈ”λ¦¬ λŒ€μ‹  [μ–΄μ…ˆλΈ”λ¦¬ 이름].deps.json을 μ‹€ν–‰ν•˜λ €κ³  ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2019λ…„ 01μ›” 22일  Β·  5μ½”λ©˜νŠΈ  Β·  좜처: petabridge/NBench

.NET Core 2.2 이상을 μ‹€ν–‰ν•˜λŠ” λ…Έλ“œμ—μ„œ λ°œμƒν•©λ‹ˆλ‹€.

bug benchmark-execution netcore

λͺ¨λ“  5 λŒ“κΈ€

ν˜„μž¬ ν•΄κ²° 방법/λŒ€μ•ˆμ΄ μžˆμŠ΅λ‹ˆκΉŒ?

ν”„λ‘œμ νŠΈ λŒ€μƒμ„ λ³€κ²½ν•˜λ €κ³  μ‹œλ„ν–ˆμ§€λ§Œ λ¬Έμ œκ°€ μ‹€μ œλ‘œ CLI에 μžˆλ‹€λŠ” 것을 κΉ¨λ‹¬μ•˜μŠ΅λ‹ˆλ‹€. λ‚˜λŠ” 그것을 μž‘λ™μ‹œμΌ°λ‹€:
1) global.json을 μΆ”κ°€ν•˜μ—¬ ν•΄λ‹Ή ν”„λ‘œμ νŠΈμ— λŒ€ν•œ CLI 버전 λ³€κ²½(μ°Έμ‘°: https://markheath.net/post/switching-between-netcore-sdk-versions)

2) 그런 λ‹€μŒ PropertyGroup의 csproj νŒŒμΌμ— μΆ”κ°€ν•΄μ•Ό ν•˜λŠ” ν”„λ ˆμž„μ›Œν¬μ— λŒ€ν•΄ 2.1이 μ—†λ‹€λŠ” 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.
2.1.6

3) 그런 λ‹€μŒ λΉŒλ“œ/κ²Œμ‹œμ™€ λ‹€λ₯Έ λŸ°νƒ€μž„μœΌλ‘œ λ³΅μ›λœ νŒ¨ν‚€μ§€μ— λŒ€ν•œ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. 이에 λŒ€ν•œ μˆ˜μ •μ€ cliμ—μ„œ "dotnet restore"λ₯Ό λ‹€μ‹œ μ‹€ν–‰ν•˜λŠ” κ²ƒμ΄μ—ˆμŠ΅λ‹ˆλ‹€.

κ·Έ ν›„, λ‚˜λŠ” κ·Έ ν”„λ‘œμ νŠΈμ— λŒ€ν•΄ "dotnet nbench"λ₯Ό 잘 μ‹€ν–‰ν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€.

μžμ„Έν•œ ν•΄κ²° 방법을 κ²Œμ‹œν•΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€! @izvala 와 μ €λŠ” NBench 2.0에 λŒ€ν•œ 또 λ‹€λ₯Έ 큰 μ‚¬μš©μ„± 점검을 μˆ˜ν–‰ν•˜λŠ” 방법을 μ°Ύκ³  있으며 이것이 우리 λͺ©λ‘μ— 포함될 κ²ƒμž…λ‹ˆλ‹€.

λˆ„κ΅°κ°€ 이 λ¬Έμ œμ— λΆ€λ”ͺνžˆμ§€λ§Œ λ‚˜μ²˜λŸΌ λŒ€μƒ ν”„λ ˆμž„μ›Œν¬ λ˜λŠ” global.json λ‹€λ£° 수 μ—†λŠ” 경우λ₯Ό λŒ€λΉ„ν•˜μ—¬ 또 λ‹€λ₯Έ ν•΄κ²° 방법은 dotnet nbench 와 ν•¨κ»˜ λ¬Έμ„œν™”λ˜μ§€ μ•Šμ€ --fx-version {version} ν”Œλž˜κ·Έλ₯Ό μ‚¬μš©ν•˜λŠ” κ²ƒμž…λ‹ˆλ‹€. , 예λ₯Ό λ“€μ–΄:

fxversion=$(dotnet --list-runtimes | \
    grep Microsoft.NETCore.App | \
    awk '{ print $2 }' | \
    tail -1)

dotnet nbench --fx-version $fxversion

λ˜λŠ”:

$fxversion = dotnet --list-runtimes | `
    select-string "Microsoft.NETCore.App" | `
    select-object -last 1 | `
    foreach-object { $data = $_ -split " "; $data[1] }

dotnet nbench --fx-version $fxversion

이것이 μ—†μœΌλ©΄ λͺ…령이 μ‹€νŒ¨ν•˜λŠ” μ΄μœ λŠ” λŸ¬λ„ˆκ°€ fxVersion λ³€μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ dotnet exec λͺ…λ Ήμ˜ ν˜•μ‹μ„ μ§€μ •ν•˜κ³  λΉ„μ–΄ 있으면 --fx-version --depsfile "Foo.deps.json" 되기 λ•Œλ¬Έμž…λ‹ˆλ‹€. 이것은 μ°¨λ‘€λ‘œ --depsfile κ°€ --fx-version ν”Œλž˜κ·Έμ˜ 값인 κ²ƒμ²˜λŸΌ dotnet exec μ˜ν•΄ ꡬ문 λΆ„μ„λ˜κ³  λ‹€μŒ Foo.deps.json λŠ” μ‹€ν–‰ν•  μ–΄μ…ˆλΈ”λ¦¬ 파일둜 ν•΄μ„λ©λ‹ˆλ‹€. .

λ¬Έμ œκ°€ λ˜λŠ” 라인: https://github.com/petabridge/NBench/blob/557f2fbca250a4a45636f5e4b41b58b8440b33f2/src/NBench.Runner.DotNetCli/Program.cs#L284

이 νŒ¨μΉ˜λŠ” 그것을 μˆ˜μ •ν•΄μ•Όν•˜μ§€λ§Œ μ§€κΈˆμ€ μ μ ˆν•œ μ‹œν—˜ 및 / λ˜λŠ” ν’€ μš”μ²­μ„ ν•  μ‹œκ°„μ΄ μ—†μ–΄ :

diff --git a/src/NBench.Runner.DotNetCli/Program.cs b/src/NBench.Runner.DotNetCli/Program.cs
index c45b32e..417319c 100644
--- a/src/NBench.Runner.DotNetCli/Program.cs
+++ b/src/NBench.Runner.DotNetCli/Program.cs
@@ -281,7 +281,10 @@ namespace NBench.Runner.DotNetCli
             var depsFile = targetFileNameWithoutExtension + ".deps.json";
             var runtimeConfigJson = targetFileNameWithoutExtension + ".runtimeconfig.json";

-            var args = $@"exec --fx-version {fxVersion} --depsfile ""{depsFile}"" ";
+            var args = $@"exec --depsfile ""{depsFile}"" ";
+
+            if (!string.IsNullOrWhiteSpace(fxVersion))
+                args += $"--fx-version {fxVersion} ";

             if (File.Exists(Path.Combine(workingDirectory, runtimeConfigJson)))
                 args += $@"--runtimeconfig ""{runtimeConfigJson}"" ";

NBench 2.0.0 https://github.com/petabridge/NBench/releases/tag/2.0.0 - 더 이상 dotnet nbench λ₯Ό 톡해 ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰