Software Engineering at Programming
Pagkalkula sa Panahon ng Pagpatay sa Java: Mga Pamamaraan at mga Halimbawang Tunay-sanlibutan
Table of Contents
Mahalaga ang pagsukat sa panahon ng paglalapat ng kodigo para sa kapaki - pakinabang na pagganap sa mga aplikasyon sa Java. Tumutulong ito sa mga developer na matukoy ang mga botttleneck at mapasulong ang kahusayan.
Paggamit ng System.nanoTime()
Ang paraang System.nanoTime()[ ay nag-aalok ng mataas na-resolusyong sukat ng oras.Ito ay nagbabalik sa kasalukuyang halaga ng pinaka-tamang magagamit na sistemang timer, sa nanoseconds. Upang sukatin ang oras ng pagpatay, itala ang simulang panahon bago tumakbo ang kodigo at ang katapusang panahon pagkatapos. Ang pagkakaiba ay nagpapahiwatig ng lumipas na panahon.
Halimbawa:
[habang simulang-panahon = System.nanoTime();
/ code upang sukatin]
[habang dulong-panahon = System.nanoTime();
Haba = endTimes - startTime;
Sistema ng Paggamit. compostTimMillis()
Ang paraang System.[concurrentTMillis() ay nagbibigay ng kasalukuyang panahon sa mga milliseconds.Ito ay hindi gaanong eksakto kaysa ngunit angkop sa pagsukat ng mas mahabang tagal. Katulad ng nakaraang pamamaraan, itala ang simula at wakas na panahon sa paligid ng bloke ng kodigo.
Halimbawa:
[habang simulang-panahon = System.currentTimellis();
/ code upang sukatin]
[habang dulong-panahon = System.currentTimellis();
Haba = endTimes - startTime;
Paggamit sa Kagyat na Klase ng Java
Ang klase mula sa [va.time na pakete ay nag-aalok ng modernong paraan ng pagsukat ng oras.Ito ay nagbibigay ng nanosecond presence at angkop sa pagsukat ng tagal.
Halimbawa:
Instansiyang simula = Instant.now();
/ code upang sukatin]
Instansiyal na dulo = Instant.now();
Sa loob ng tagal = Haba ng panahon. sa pagitan(start, end);
Tunay na Halimbawa sa Daigdig
Ipagpalagay nang nais mong sukatin kung gaano katagal ito mag - uri ng isang malaking hanay. [[[[T:0] [System.nanoTime(), maaari mong ipatupad ang mga sumusunod:
array = bagong int[1 000 000];[]
//count array
[habang simulang-panahon = System.nanoTime();
Arrays.sort(array);
[habang dulong-panahon = System.nanoTime();
[System.out.println("Kumuha ang pag-iinsip" + (endTime - startTime) + "nanoseconds.");