Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::chrono...s_clock::now(3) C++ Standard Libarystd::chrono...s_clock::now(3)

NAME
       std::chrono::gps_clock::now - std::chrono::gps_clock::now

Synopsis
	  static     std::chrono::time_point<std::chrono::gps_clock>	now();
       (since C++20)

	  Returns a time point representing the	current	point in time. The re-
       sult is
	  calculated		     as			if		    by
       std::chrono::gps_clock::from_utc(std::chrono::utc_clock::now()).
	  Implementations may use a more accurate value	of GPS time.

Parameters
	  (none)

Return value
	  A time point representing the	current	time.

Example
       // Run this code

	#include <chrono>
	#include <cstddef>
	#include <iomanip>
	#include <iostream>
	#include <numeric>
	#include <vector>

	volatile int sink;

	void do_some_work(std::size_t size)
	{
	    std::vector<int> v(size, 42);
	    sink  = std::accumulate(v.begin(), v.end(),	0); // make sure it is
       a side effect
	}

	int main()
	{
	    std::cout << std::fixed << std::setprecision(9) << std::left;
	    for	(auto size{1ull}; size < 10'00'00'00'00ull; size *= 100)
	    {
		const auto start = std::chrono::gps_clock::now();
		do_some_work(size);
		const auto end = std::chrono::gps_clock::now();

		const std::chrono::duration<double> diff = end - start;

		std::cout << "Time to fill  and	 iterate  a  vector  of	 "  <<
       std::setw(9)
			  << size << " ints : "	<< diff	<< '\n';
	    }
	}

Possible output:
	Time to	fill and iterate a vector of 1	       ints : 0.000006568s
	Time to	fill and iterate a vector of 100       ints : 0.000002854s
	Time to	fill and iterate a vector of 10000     ints : 0.000116290s
	Time to	fill and iterate a vector of 1000000   ints : 0.011742752s
	Time to	fill and iterate a vector of 100000000 ints : 0.505534949s

http://cppreference.com		  2024.06.10	 std::chrono...s_clock::now(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::chrono::gps_clock::now&sektion=3&manpath=FreeBSD+Ports+15.1.quarterly>

home | help