Rešeno: proteklo vreme

Posljednje ažuriranje: 09/13/2023

Proteklo vrijeme je ključni aspekt u mnogim aplikacijama u razvoju softvera. Bez obzira da li pravite igru, alat za praćenje vremena ili aplikaciju za produktivnost, tačno i efikasno izračunavanje proteklog vremena je ključno. U Rustu, nekoliko metoda omogućava programerima da izračunaju proteklo vrijeme. Ovaj članak će se fokusirati na standardno Rustovo rješenje, opisujući problem, predstavljajući rješenje i objašnjavajući svaki korak koda.

problem

Svaki programer u nekom trenutku treba da izračuna vremensku razliku između dvije tačke u izvršavanju programa. Izazov nije samo mjerenje vremena, već i osiguranje da mjerenje bude tačno, precizno i ​​efikasno u smislu sistemskih resursa.

Rješenje pomoću Rustove standardne biblioteke

U Rustu, standardna biblioteka pruža način izračunavanja proteklog vremena korištenjem strukture Instant iz modula std::time. Sljedeće rješenje koristi funkciju Instant::now, koja vraća instancu trenutnog trenutka u vremenu.

Prvi korak je uvoz biblioteke:

koristite std::time::Instant;

Sljedeći korak uključuje hvatanje trenutnog vremena u nekom trenutku vašeg koda, pohranjivanje tog vremena, pokretanje vaših operacija, a zatim ponovno snimanje trenutnog vremena.

neka start = Instant::sada();
// neka operacija
neka trajanje = start.elapsed();

U ovom trenutku, 'trajanje' zadržava proteklo vrijeme.

Objašnjenje koda korak po korak

U Rustu, metoda std::time::Instant:: now daje trenutno vrijeme kao objekt strukture Instant. Vraćeni objekt ima dvije korisne metode: „elapsed“ i „duration_since“. Funkcija „elapsed“, kada se pozove na objekt Instant, daje trajanje (Duration) između sadašnjeg trenutka (now) i tog trenutka (Instant).

U datom kodu prvo bilježimo vrijeme na početku operacije i pohranjujemo ga u varijablu “start”. Zatim izvodimo operaciju. Nakon toga koristimo metodu elapsed na "start" Instantu da dobijemo strukturu Duration. Ova struktura predstavlja proteklo vrijeme.

Poboljšanje tačnosti

Da biste poboljšali preciznost izračunavanja proteklog vremena, trebali biste postaviti početak i kraj tajmera što bliže operaciji, doslovno red prije i poslije ako možete.

Još jedna stvar koju treba napomenuti je sposobnost Rusta da upravlja promjenama sistemskog sata. Rust ih automatski uzima u obzir, pa čak i ako se sistemski sat promijeni dok vaš kod radi, i dalje ćete dobiti tačno proteklo vrijeme.

Korisne biblioteke sa Rust-om

Neke zgodne biblioteke rade sa Rustom ne samo za izračunavanje proteklog vremena već i za funkcije datuma i vremena. To uključuje:

  • Chrono: Ovo je Rust biblioteka za rukovanje datumom i vremenom koja pruža tipove i funkcije neophodne za raščlanjivanje vremena, prikazivanje i aritmetiku.
  • Time: Ova biblioteka se fokusira na manipulaciju vremenom, uključujući pronalaženje trajanja i izračunavanje proteklog vremena.

Razumijevanje rada s proteklim vremenom u vašoj aplikaciji je odlična vještina u rukama svakog Rust programera . Sa bogatim funkcijama standardnih biblioteka i korisnim bibliotekama trećih strana koje su vam na raspolaganju, imate sve što vam je potrebno za rješavanje gotovo svakog zadatka vezanog za vrijeme u vašoj aplikaciji.

Slični postovi: