Go to the documentation of this file.00001
00010
00011
00012
00013
00014 #include <iostream>
00015 #include <ecl/threads/priority.hpp>
00016 #include <ecl/time/stopwatch.hpp>
00017 #include <ecl/streams.hpp>
00018 #include <ecl/formatters.hpp>
00019
00020
00021
00022
00023
00024 using ecl::OConsoleStream;
00025 using ecl::StopWatch;
00026 using ecl::TimeStamp;
00027 using ecl::Format;
00028 using ecl::StandardException;
00029
00030
00031
00032
00033
00034 int main() {
00035 try {
00036 ecl::set_priority(ecl::RealTimePriority4);
00037 } catch ( StandardException &e ) {
00038
00039 }
00040
00041 StopWatch stopwatch;
00042 TimeStamp times[6];
00043 unsigned int lines_to_write = 1;
00044 float f = 33.54235235;
00045 Format<double> format; format.precision(2); format.width(5);
00046
00047 std::cout << std::endl;
00048 std::cout << "***********************************************************" << std::endl;
00049 std::cout << " Printf" << std::endl;
00050 std::cout << "***********************************************************" << std::endl;
00051 std::cout << std::endl;
00052
00053 for ( unsigned int i = 0; i < lines_to_write; ++i ) {
00054 printf("Heya Dude\n");
00055 }
00056 stopwatch.restart();
00057 for ( unsigned int i = 0; i < lines_to_write; ++i ) {
00058 printf("Heya Dude\n");
00059 }
00060 times[0] = stopwatch.split();
00061 for ( unsigned int i = 0; i < lines_to_write; ++i ) {
00062 printf("%4.2f \n",f);
00063 }
00064 stopwatch.restart();
00065 for ( unsigned int i = 0; i < lines_to_write; ++i ) {
00066 printf("%4.2f \n",f);
00067 }
00068 times[3] = stopwatch.split();
00069
00070 std::cout << std::endl;
00071 std::cout << "***********************************************************" << std::endl;
00072 std::cout << " Cout" << std::endl;
00073 std::cout << "***********************************************************" << std::endl;
00074 std::cout << std::endl;
00075
00076 for ( unsigned int i = 0; i < lines_to_write; ++i ) {
00077 std::cout << "Heya Dude\n";
00078 }
00079 std::cout.flush();
00080 stopwatch.restart();
00081 for ( unsigned int i = 0; i < lines_to_write; ++i ) {
00082 std::cout << "Heya Dude\n";
00083 }
00084 std::cout.flush();
00085 times[1] = stopwatch.split();
00086
00087 std::cout.precision(4);
00088 for ( unsigned int i = 0; i < lines_to_write; ++i ) {
00089 std::cout << f << " \n";
00090 }
00091 std::cout.flush();
00092 stopwatch.restart();
00093 for ( unsigned int i = 0; i < lines_to_write; ++i ) {
00094 std::cout << f << " \n";
00095 }
00096 std::cout.flush();
00097 times[4] = stopwatch.split();
00098
00099 std::cout << std::endl;
00100 std::cout << "***********************************************************" << std::endl;
00101 std::cout << " Ostream" << std::endl;
00102 std::cout << "***********************************************************" << std::endl;
00103 std::cout << std::endl;
00104
00105 OConsoleStream ostream;
00106 for ( unsigned int i = 0; i < lines_to_write; ++i ) {
00107 ostream << "Heya Dude\n";
00108 }
00109 ostream.flush();
00110 stopwatch.restart();
00111 for ( unsigned int i = 0; i < lines_to_write; ++i ) {
00112 ostream << "Heya Dude\n";
00113 }
00114 ostream.flush();
00115 times[2] = stopwatch.split();
00116
00117 for ( unsigned int i = 0; i < lines_to_write; ++i ) {
00118 ostream << format(f) << " \n";
00119 }
00120 ostream.flush();
00121 stopwatch.restart();
00122 for ( unsigned int i = 0; i < lines_to_write; ++i ) {
00123 ostream << format(f) << " \n";
00124 }
00125 ostream.flush();
00126 times[5] = stopwatch.split();
00127
00128 std::cout << std::endl;
00129 std::cout << "***********************************************************" << std::endl;
00130 std::cout << " Times" << std::endl;
00131 std::cout << "***********************************************************" << std::endl;
00132 std::cout << std::endl;
00133
00134 std::cout << "Writing Char Strings:" << std::endl;
00135 std::cout << " printf : " << times[0].nsec() << " ns" << std::endl;
00136 std::cout << " cout : " << times[1].nsec() << " ns" << std::endl;
00137 std::cout << " OConsoleStream : " << times[2].nsec() << " ns" << std::endl;
00138 std::cout << "Streaming Floats:" << std::endl;
00139 std::cout << " printf : " << times[3].nsec() << " ns" << std::endl;
00140 std::cout << " cout : " << times[4].nsec() << " ns" << std::endl;
00141 std::cout << " OConsoleStream : " << times[5].nsec() << " ns" << std::endl;
00142
00143 std::cout << std::endl;
00144 std::cout << "***********************************************************" << std::endl;
00145 std::cout << " Passed" << std::endl;
00146 std::cout << "***********************************************************" << std::endl;
00147 std::cout << std::endl;
00148
00149 return 0;
00150 }