Rešeno: proteklo vreme

Posljednje ažuriranje: 09/13/2023

Proteklo vrijeme je kritičan aspekt u mnogim aplikacijama u razvoju softvera. Bilo da pravite igru, alat za praćenje vremena ili aplikaciju za produktivnost, precizno 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 Rust 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 Rust, std::time::Instant::now metoda daje trenutno vrijeme kao Instant struct objekt. Vraćeni objekat ima dvije korisne metode: “elapsed” i “duration_since”. Funkcija “protekla”, kada se pozove na Instant objektu, daje trajanje između sada i tog Instanta.

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 kako raditi s proteklim vremenom u vašoj aplikaciji odlična je vještina u rukama svakoga Rust developer. Sa standardnim bibliotekama bogatim funkcijama i korisnim bibliotekama trećih strana koje su vam na raspolaganju, imate sve što vam je potrebno za obavljanje gotovo svih vremenskih zadataka u vašoj aplikaciji.

Slični postovi: