testMemoryUsage.cpp 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. /**
  2. * @file testMemoryUsage.cpp
  3. * @author Paul Bodesheim
  4. * @date 03/02/2012 (dd/mm/yyyy)
  5. * @brief test routine for examining memory usage
  6. */
  7. // #include <sys/time.h>
  8. // #include <sys/resource.h>
  9. #include "core/basics/ResourceStatistics.h"
  10. #include <stdio.h>
  11. #include "core/vector/MatrixT.h"
  12. #include "core/vector/VectorT.h"
  13. #include <iostream>
  14. using namespace std;
  15. using namespace NICE;
  16. int main(int argc, char* argv[])
  17. {
  18. ResourceStatistics resources;
  19. long memory;
  20. double userCpuTime;
  21. double systemCpuTime;
  22. NICE::Matrix M1(2000,2000,0.15);
  23. NICE::Matrix M2(2000,2000,0.25);
  24. std::cerr << "M1 and M2" << std::endl;
  25. resources.getMaximumMemory(memory);
  26. std::cerr << "memory:" << memory << std::endl;
  27. resources.getUserCpuTime(userCpuTime);
  28. std::cerr << "user cpu time:" << userCpuTime << std::endl;
  29. resources.getSystemCpuTime(systemCpuTime);
  30. std::cerr << "system cpu time:" << systemCpuTime << std::endl;
  31. NICE::Matrix M3(2000,2000,0.35);
  32. NICE::Matrix M4(2000,2000,0.45);
  33. std::cerr << "M3 and M4" << std::endl;
  34. resources.getStatistics(memory,userCpuTime,systemCpuTime);
  35. std::cerr << "memory:" << memory << std::endl;
  36. std::cerr << "user cpu time:" << userCpuTime << std::endl;
  37. std::cerr << "system cpu time:" << systemCpuTime << std::endl;
  38. return 0;
  39. }
  40. // worked
  41. //
  42. // int main(int argc, char* argv[])
  43. // {
  44. // struct rusage memoryStatistics;
  45. //
  46. // NICE::Matrix M1(2000,2000,0.75);
  47. // NICE::Matrix M2(2000,2000,0.85);
  48. //
  49. // int check = getrusage(RUSAGE_SELF,&memoryStatistics);
  50. //
  51. // if ( check == -1 )
  52. // std::cerr << "getrusage failed" << std::endl;
  53. // else if ( check == 0 )
  54. // {
  55. // std::cerr << "success:" << std::endl;
  56. // std::cerr << "user cpu time: " << memoryStatistics.ru_utime.tv_sec << " sec " << memoryStatistics.ru_utime.tv_usec << " micro-sec" << std::endl;
  57. // std::cerr << "system cpu time: " << memoryStatistics.ru_stime.tv_sec << " sec " << memoryStatistics.ru_stime.tv_usec << " micro-sec" << std::endl;
  58. // std::cerr << "maximum memory: " << memoryStatistics.ru_maxrss << " KB"<< std::endl;
  59. // std::cerr << "inputs: " << memoryStatistics.ru_inblock << std::endl;
  60. // std::cerr << "outputs: " << memoryStatistics.ru_oublock << std::endl;
  61. //
  62. // } else
  63. // std::cerr << "unknown flag returned" << std::endl;
  64. //
  65. // return 0;
  66. // }