Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2016
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.47 KB | None | 0 0
  1. --- Ligne de commande des compilateurs ---
  2.  
  3. clang++ main.cpp -O0 -std=c++1z -o cpp_opt0
  4. clang++ main.cpp -O1 -std=c++1z -o cpp_opt1
  5. clang++ main.cpp -O2 -std=c++1z -o cpp_opt2
  6. clang++ main.cpp -O3 -std=c++1z -o cpp_opt3
  7. clang++ main.cpp -O3 -march=native -mtune=native -std=c++1z -o cpp_opt3_native
  8.  
  9. g++ main.cpp -O0 -std=c++1z -o gcc_opt0
  10. g++ main.cpp -O1 -std=c++1z -o gcc_opt1
  11. g++ main.cpp -O2 -std=c++1z -o gcc_opt2
  12. g++ main.cpp -O3 -std=c++1z -o gcc_opt3
  13. g++ main.cpp -O3 -march=native -mtune=native -std=c++1z -o gcc_opt3_native
  14.  
  15. javac HelloWorld.java
  16.  
  17. --- Versions ---
  18.  
  19. $ gcc -v
  20. Using built-in specs.
  21. COLLECT_GCC=gcc
  22. COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
  23. Target: x86_64-linux-gnu
  24. Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.2.1-22ubuntu2' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
  25. Thread model: posix
  26. gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2)
  27.  
  28. $clang -v
  29. Ubuntu clang version 3.6.2-1 (tags/RELEASE_362/final) (based on LLVM 3.6.2)
  30. Target: x86_64-pc-linux-gnu
  31. Thread model: posix
  32. Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/5.2.1
  33. Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.2.1
  34. Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.2.1
  35. Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.2.1
  36. Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.2.1
  37. Candidate multilib: .;@m64
  38. Selected multilib: .;@m64
  39.  
  40. $ javac -version
  41. javac 9-ea
  42.  
  43. --- Code ---
  44.  
  45. Java :
  46. public class HelloWorld
  47. {
  48. public static int fibonacci(int n)
  49. {
  50. if(n <= 2) return 1;
  51. return fibonacci(n-2) + fibonacci(n-1);
  52. }
  53.  
  54.  
  55. public static void main(String[] args)
  56. {
  57. int x = Integer.parseInt(args[0]);
  58. int r = fibonacci(x);
  59. }
  60. }
  61.  
  62. C++ :
  63. #include <string>
  64.  
  65. int fibonacci(int n)
  66. {
  67. if(n <= 2) return 1;
  68. return fibonacci(n-2) + fibonacci(n-1);
  69. }
  70.  
  71. int main(int argv, char* argc[])
  72. {
  73. int x = std::stoi(argc[1]);
  74. return fibonacci(x);
  75. }
  76.  
  77. --- Résultats (/usr/bin/time) ---
  78.  
  79. ./clang_opt1 40
  80. real 0m0.221s
  81.  
  82. ./clang_opt2 40
  83. real 0m0.189s
  84.  
  85. ./clang_opt3 40
  86. real 0m0.188s
  87.  
  88. ./clang_opt3_native 40
  89. real 0m0.188s
  90.  
  91. ./clang_zeroopt 40
  92. real 0m0.403s
  93.  
  94. ./gcc_opt0 40
  95. real 0m0.371s
  96.  
  97. ./gcc_opt1 40
  98. real 0m0.242s
  99.  
  100. ./gcc_opt2 40
  101. real 0m0.165s
  102.  
  103. ./gcc_opt3 40
  104. real 0m0.133s
  105.  
  106. ./gcc_opt3_native 40
  107. real 0m0.133s
  108.  
  109. java -jar ./java.jar 40
  110. real 0m0.320s
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement