Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --- Ligne de commande des compilateurs ---
- clang++ main.cpp -O0 -std=c++1z -o cpp_opt0
- clang++ main.cpp -O1 -std=c++1z -o cpp_opt1
- clang++ main.cpp -O2 -std=c++1z -o cpp_opt2
- clang++ main.cpp -O3 -std=c++1z -o cpp_opt3
- clang++ main.cpp -O3 -march=native -mtune=native -std=c++1z -o cpp_opt3_native
- g++ main.cpp -O0 -std=c++1z -o gcc_opt0
- g++ main.cpp -O1 -std=c++1z -o gcc_opt1
- g++ main.cpp -O2 -std=c++1z -o gcc_opt2
- g++ main.cpp -O3 -std=c++1z -o gcc_opt3
- g++ main.cpp -O3 -march=native -mtune=native -std=c++1z -o gcc_opt3_native
- javac HelloWorld.java
- --- Versions ---
- $ gcc -v
- Using built-in specs.
- COLLECT_GCC=gcc
- COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
- Target: x86_64-linux-gnu
- 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
- Thread model: posix
- gcc version 5.2.1 20151010 (Ubuntu 5.2.1-22ubuntu2)
- $clang -v
- Ubuntu clang version 3.6.2-1 (tags/RELEASE_362/final) (based on LLVM 3.6.2)
- Target: x86_64-pc-linux-gnu
- Thread model: posix
- Found candidate GCC installation: /usr/bin/../lib/gcc/i686-linux-gnu/5.2.1
- Found candidate GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.2.1
- Found candidate GCC installation: /usr/lib/gcc/i686-linux-gnu/5.2.1
- Found candidate GCC installation: /usr/lib/gcc/x86_64-linux-gnu/5.2.1
- Selected GCC installation: /usr/bin/../lib/gcc/x86_64-linux-gnu/5.2.1
- Candidate multilib: .;@m64
- Selected multilib: .;@m64
- $ javac -version
- javac 9-ea
- --- Code ---
- Java :
- public class HelloWorld
- {
- public static int fibonacci(int n)
- {
- if(n <= 2) return 1;
- return fibonacci(n-2) + fibonacci(n-1);
- }
- public static void main(String[] args)
- {
- int x = Integer.parseInt(args[0]);
- int r = fibonacci(x);
- }
- }
- C++ :
- #include <string>
- int fibonacci(int n)
- {
- if(n <= 2) return 1;
- return fibonacci(n-2) + fibonacci(n-1);
- }
- int main(int argv, char* argc[])
- {
- int x = std::stoi(argc[1]);
- return fibonacci(x);
- }
- --- Résultats (/usr/bin/time) ---
- ./clang_opt1 40
- real 0m0.221s
- ./clang_opt2 40
- real 0m0.189s
- ./clang_opt3 40
- real 0m0.188s
- ./clang_opt3_native 40
- real 0m0.188s
- ./clang_zeroopt 40
- real 0m0.403s
- ./gcc_opt0 40
- real 0m0.371s
- ./gcc_opt1 40
- real 0m0.242s
- ./gcc_opt2 40
- real 0m0.165s
- ./gcc_opt3 40
- real 0m0.133s
- ./gcc_opt3_native 40
- real 0m0.133s
- java -jar ./java.jar 40
- real 0m0.320s
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement