1ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com/* 2ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Copyright 2011 Google Inc. 3ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * 4ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * Use of this source code is governed by a BSD-style license that can be 5ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com * found in the LICENSE file. 6ec3ed6a5ebf6f2c406d7bcf94b6bc34fcaeb976eepoger@google.com */ 79ac68ee2594f28dfc1bd16a4bf004b1a4f6f228dmtklein#ifndef SysTimer_DEFINED 89ac68ee2594f28dfc1bd16a4bf004b1a4f6f228dmtklein#define SysTimer_DEFINED 9be9ad4e5fc6126a1273a7dccf1a85db72e763df3bungeman@google.com 10be9ad4e5fc6126a1273a7dccf1a85db72e763df3bungeman@google.com#include <mach/mach.h> 11be9ad4e5fc6126a1273a7dccf1a85db72e763df3bungeman@google.com#include <mach/mach_time.h> 12be9ad4e5fc6126a1273a7dccf1a85db72e763df3bungeman@google.com 139ac68ee2594f28dfc1bd16a4bf004b1a4f6f228dmtkleinclass SysTimer { 14be9ad4e5fc6126a1273a7dccf1a85db72e763df3bungeman@google.compublic: 15be9ad4e5fc6126a1273a7dccf1a85db72e763df3bungeman@google.com void startWall(); 16be9ad4e5fc6126a1273a7dccf1a85db72e763df3bungeman@google.com void startCpu(); 17be9ad4e5fc6126a1273a7dccf1a85db72e763df3bungeman@google.com double endCpu(); 18be9ad4e5fc6126a1273a7dccf1a85db72e763df3bungeman@google.com double endWall(); 19be9ad4e5fc6126a1273a7dccf1a85db72e763df3bungeman@google.comprivate: 20be9ad4e5fc6126a1273a7dccf1a85db72e763df3bungeman@google.com time_value_t fStartCpu; 21be9ad4e5fc6126a1273a7dccf1a85db72e763df3bungeman@google.com uint64_t fStartWall; 22be9ad4e5fc6126a1273a7dccf1a85db72e763df3bungeman@google.com}; 23be9ad4e5fc6126a1273a7dccf1a85db72e763df3bungeman@google.com 24be9ad4e5fc6126a1273a7dccf1a85db72e763df3bungeman@google.com#endif 25