Skip to content
Snippets Groups Projects
Commit 1388e7f5 authored by bartvbl's avatar bartvbl
Browse files

Handout lecture 11

parent e3c8368e
No related branches found
No related tags found
No related merge requests found
#include "Stopwatch.h"
void Stopwatch::start() {
startTime = std::chrono::steady_clock::now();
}
double Stopwatch::stop() {
std::chrono::time_point endTime = std::chrono::steady_clock::now();
long durationInMicroseconds = std::chrono::duration_cast<std::chrono::microseconds>(endTime - startTime).count();
double durationInSeconds = double(durationInMicroseconds)/1000000.0;
return durationInSeconds;
}
\ No newline at end of file
#pragma once
#include <chrono>
// This class abstracts some (somewhat) nasty code that is
// definitely outside the scope of this course.
// Its main purpose is to return the amount of time
// taken by the program in main.cpp
// Calling start() starts the stopwatch
// Calling stop() stops it and returns the amount of time
// that has elapsed since start() was called in seconds
class Stopwatch {
std::chrono::time_point<std::chrono::steady_clock> startTime;
public:
void start();
double stop();
};
\ No newline at end of file
#include <iostream>
#include <chrono>
#include <vector>
#include "Stopwatch.h"
int main() {
Stopwatch watch;
watch.start();
constexpr int gridSize = 25000;
std::vector<std::array<int, gridSize>> grid(gridSize);
long long sum = 0;
for(int row = 0; row < gridSize; row++) {
for(int col = 0; col < gridSize; col++) {
//std::string hello = "Hello there!";
sum += grid.at(row).at(col);
}
}
std::cout << "Time taken: " << watch.stop() << " seconds" << std::endl;
return 0;
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment