See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 33025|Vastuse: 2

[Kommunikatsioon] .NET/C# kasutab BenchmarkDotNeti koodi jõudluse testimiseks

[Kopeeri link]
Postitatud 03.03.2021 15:51:12 | | | |
Nõuded: Arendusprotsessis võivad samad kaks funktsioonimeetodit täita meie nõudmisi, kuid jõudluse huvides valime parima jõudlusmeetodi kutsumiseks, kuidas koodi jõudlust testida?

Jõudluse võrdlus aitab programmeerijatel võrrelda kahe koodilõigu või meetodi jõudlust, mis võib pakkuda head kvantifitseerimisstandardit koodi ümberkirjutamiseks või refaktoreerimiseks. Ilma jõudlusnäitajateta on raske ette kujutada, kuidas palja silmaga vahet teha, kui vahetad meetodi A meetodiks B.

BenchmarkDotNet on võimas .Net jõudluse võrdlusteek ametlikul veebilehelHüperlingi sisselogimine on nähtav.

Esmalt loome uue .NET Core 3.1 konsooliprojekti. Projekti nimi on: BenchmarkTest

Paigalda BenchmarkDotNet nuget-käsuga, kood on järgmine:


Topeltklõpsa projektile, et muuta projekti sihtplatvormi järgmiselt:


Testime TestMD5 ja TestSHA1 meetodite jõudlust vastavalt .NET Framework 4.7.2 ja .NET Core 3.1 raamistikus.

Kood on järgmine:


Proovi seda käivitada järgmise veaga:

Võrdlusaluste valideerimine:
Assembly BenchmarkTest, mis määratleb benchmarkid, ei ole optimeeritud
Benchmark loodi ilma optimeerimiseta (tõenäoliselt DEBUG konfiguratsiooniga). Palun, ehita see RELEASE'is.
Kui soovid benchmarke siluda, vaata palunHüperlingi sisselogimine on nähtav.

Lülita projekt RELEASE režiimiet alustada projekti uuesti, nagu allpool näidatud:


* Kokkuvõte *

BenchmarkDotNet=v0.12.1, OS=Windows 10.0.18363.1379 (1909/november2018Update/19H2)
Intel Core i5-8259U protsessor 2.30GHz (Coffee Lake), 1 protsessor, 8 loogilist ja 4 füüsilist tuuma
.NET Core SDK=5.0.103
  [Host] : .NET Core 3.1.12 (CoreCLR 4.700.21.6504, CoreFX 4.700.21.6905), X64 RyuJIT
  .NET 4.7.2 : .NET Framework 4.8 (4.8.4300.0), X64 RyuJIT
  .NET Core 3.1 : .NET Core 3.1.12 (CoreCLR 4.700.21.6504, CoreFX 4.700.21.6905), X64 RyuJIT


|   Meetod |           Töö |       Kestus |     Mean |     Viga |    StdDev |      Min |      Max |   Mediaan |
|--------- |-------------- |-------------- |---------:|----------:|----------:|---------:|---------:|---------:|
|  TestMD5 |    .NET 4.7.2 |    .NET 4.7.2 | 4.119 USA | 0,0804 USA | 0,1045 USA | 3,958 USA | 4.318 USA | 4.123 USA |
| TestSHA1 |    .NET 4.7.2 |    .NET 4.7.2 | 4.043 USA | 0,0793 USA | 0,1085 USA | 3,926 USA | 4.289 USA | 4.003 USA |
|  TestMD5 | .NET Core 3.1 | .NET Core 3.1 | 1,216 USA | 0,0122 USA | 0,0114 USA | 1.202 USA | 1.238 USA | 1.214 USA |
| TestSHA1 | .NET Core 3.1 | .NET Core 3.1 | 1.307 USA | 0,0186 USA | 0,0165 USA | 1.284 USA | 1.336 USA | 1.307 USA |

* Vihjed *
Erandid
  TestContext.TestSHA1: .NET 4.7.2 -> 1 äärmus eemaldati (5.52 us)
  TestContext.TestSHA1: .NET Core 3.1 -> 1 erand eemaldati (1.37 us)

* Legendid *
  Keskmine: Kõigi mõõtmiste aritmeetiline keskmine
  Viga: pool 99,9% usaldusvahemikust
  StdDev: Kõigi mõõtmiste standardhälve
  Min : Miinimum
  Max : Maksimum
  Mediaan: Väärtus, mis eraldab kõigi mõõtmiste ülemise poole (50. protsentiil)
  1 meie: 1 mikrosekund (0,000001 sek)

***** BenchmarkRunner: ***** lõpp
** Jäi 0 võrdluspunkti jooksmiseks **
Kestus: 00:01:14 (74 sek), täidetud testid: 4

Globaalne koguaeg: 00:01:20 (80,63 sek), täidetud benchmarkid: 4
* Artefaktide koristamine *
Pärast käivitamist salvestatakse testitulemused meie projekti \BenchmarkTest\bin\Release\netcoreapp3.1\BenchmarkDotNet.Artifacts\results kausta csv, html, md ja muudes formaatides.



Märkus:SimpleJob sihtkaadri valik on vale ja ei pruugi korrektselt toimidaJärgmiselt:

Paralleelses ei õnnestunud ehitada, vahetasin järjestikuse ehituse vastu


Ressursse:Hüperlingi sisselogimine on nähtav.




Eelmine:Võrdlusest kaugemale lahendus veale: "See autoriseerimisvõti on tühistatud"
Järgmine:Java kõned C# veebiteenuse serverisse ei tuvasta HTTP päise SOAPActioni väärtust
 Üürileandja| Postitatud 31.03.2022 15:56:47 |
1. Keskmise translatsioon: keskmine, tavaliselt viitab aritmeetilisele keskmisele ehk geomeetrilisele keskmisele.

Narratiiv: Liita kõik väärtused järjestuste komplektis ja jaga koguarvuga, mis on keskmine.

2. Mediaantõlge: vaheväärtus.

Narratiiv: Paiguta järjestused kasvavas järjekorras ja võta keskmine väärtus, mis on keskmine väärtus.
 Üürileandja| Postitatud 25.05.2023 20:13:33 |
.NET/C# kasutab Spani kõrge jõudlusega keelte käsitlemiseks
https://www.itsvse.com/thread-10596-1-1.html
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com