logo

Crono in C++

è un'intestazione C++ che fornisce una raccolta di tipi e funzioni da utilizzare nel tempo. Fa parte della libreria di modelli standard (STL) di C++ ed è incluso in C++11 e versioni successive.

fornisce tre tipi principali di orologi: orologio_sistema orologio_stazionario e orologio_alta_risoluzione. Questi orologi vengono utilizzati per misurare il tempo in vari modi.

system_clock rappresenta l'orologio da parete in tempo reale a livello di sistema. È influenzato dalle regolazioni dell'ora del sistema.
steady_clock rappresenta un orologio ad aumento monotono che non è influenzato dalle modifiche all'ora del sistema.
high_solving_clock è l'orologio con il periodo di tick più breve disponibile sul sistema.



alternativa a mylivecricket

fornisce anche una raccolta di tipi di durata inclusa la duratache può essere utilizzato per rappresentare una durata di tempo. Rep è il tipo di rappresentazione (come int o long) e Period è il rapporto tra la durata (come nanosecondi o secondi).
Inoltrefornisce una raccolta di tipi di punti temporali incluso time_pointche può essere utilizzato per rappresentare un punto nel tempo. Orologio è il tipo di orologio (ad esempio system_clock) e Durata è il tipo di durata (ad esempio secondi)

La libreria Chrono viene utilizzata per gestire data e ora. Questa libreria è stata progettata per far fronte al fatto che timer e orologi potrebbero essere diversi su sistemi diversi e quindi per migliorare nel tempo in termini di precisione. La cosa unica del crono è che fornisce a concetto di precisione neutrale separando la durata e il punto temporale (timepoint) da orologi specifici. chrono è il nome di un'intestazione e anche di un sotto-spazio dei nomi: tutti gli elementi in questa intestazione (eccetto le specializzazioni common_type) non sono definiti direttamente sotto lo spazio dei nomi std (come la maggior parte della libreria standard) ma sotto il spazio dei nomi std::chrono . Gli elementi in questa intestazione riguardano il tempo. Ciò avviene principalmente attraverso tre concetti:

Durata

javafx su eclissi

Un oggetto durata esprime un intervallo di tempo mediante un conteggio come un minuto, due ore o dieci millisecondi. Ad esempio, "42 secondi" potrebbe essere rappresentato da una durata composta da 42 tick di un'unità di tempo di 1 secondo. 

CPP
// C++ program to illustrate the utility  // function duration::count #include     #include   int main () {  using namespace std::chrono;  // std::chrono::milliseconds is an   // instantiation of std::chrono::duration:- 1 second  milliseconds mil(1000);     mil = mil*60;    std::cout << "duration (in periods): ";  std::cout << mil.count() << " milliseconds.n";    std::cout << "duration (in seconds): ";  std::cout << (mil.count() * milliseconds::period::num /   milliseconds::period::den);  std::cout << " seconds.n";  return 0; } 

Produzione:

duration (in periods): 60000 milliseconds. duration (in seconds): 60 seconds.

Orologio

Un orologio è costituito da un punto di partenza (o epoca) e da una frequenza di tick. Ad esempio, un orologio può avere l'epoca del 22 febbraio 1996 e ticchettare ogni secondo. C++ definisce tre tipi di orologio:

    system_clock-È l'ora attuale secondo il sistema (orologio normale che vediamo sulla barra degli strumenti del computer). È scritto asstd::chrono::system_clockorologio_stabile-È un orologio monotono che non verrà mai regolato. Va ad un ritmo uniforme. È scritto asstd::chrono::steady_clockorologio_ad_alta_risoluzione- Fornisce il periodo di tick più piccolo possibile. È scritto come-std::chrono::high_length_clock

Punto temporale

Un oggetto time_point esprime un punto nel tempo relativo all'epoca di un orologio. Internamente l'oggetto memorizza un oggetto di tipo durata e utilizza il tipo Orologio come riferimento per la sua epoca.  

CPP
// C++ program to illustrate time point // and system clock functions #include    #include  #include  // Function to calculate // Fibonacci series long fibonacci(unsigned n) {  if (n < 2) return n;  return fibonacci(n-1) + fibonacci(n-2); } int main() {  // Using time point and system_clock  std::chrono::time_point<std::chrono::system_clock> start end;  start = std::chrono::system_clock::now();  std::cout << "f(42) = " << fibonacci(42) << 'n';  end = std::chrono::system_clock::now();  std::chrono::duration<double> elapsed_seconds = end - start;  std::time_t end_time = std::chrono::system_clock::to_time_t(end);  std::cout << "finished computation at " << std::ctime(&end_time)  << "elapsed time: " << elapsed_seconds.count() << "sn"; } 

Produzione:

f(42) = 267914296 finished computation at Wed Jan 4 05:13:48 2017 elapsed time: 2.14538s

È importante notare che la precisione e l'accuratezza degli orologi e delle durate fornite dapuò variare a seconda del sistema e della piattaforma ed è sempre una buona idea controllare la documentazione della propria piattaforma per ulteriori informazioni.

pyspark

Crea quiz