The content of this article complies with the CC copyright agreement and can be reproduced at will. However, the original source and author information of the article and the copyright statement URL must be indicated in hyperlink form: www.penglixun.comtechdatabaseicc_static_compile_percona.html, the advantages of the thread library and mathematical functions are obvious. Native SSE2
The content of this article complies with the CC copyright agreement, can be reproduced at will, but must be indicated in the form of Hyperlink original source and author information and copyright statement URL: http://www.penglixun.com/tech/database/icc_static_compile_percona.html after my test ICC in floating point operation, the advantages of the thread library and mathematical functions are obvious. Native SSE2
The content of this article complies with the CC copyright agreement, can be reproduced at will, but must be in the form of hyperlink to indicate the original source of the article and author information and copyright statement URL: http://www.penglixun.com/tech/database/icc_static_compile_percona.html
After my tests on the floating point operations of ICC, the advantages of the thread library and mathematical functions are very obvious. Native SSE2 instruction set support, Intel's own thread library and mathematical function library have no performance to say.
I used the code for calculating PI values in the same copy to compile the code under ICC and GCC to increase the ratio.20%, Actually comparing the same super complex aggregate SQL statement in the database, ICC escalation34%.
Step 1: Compile and install libunwind
Wget http://download.savannah.gnu.org/releases/libunwind/libunwind-0.99.tar.gz
Tar zxvf libunwind-0.99.tar.gz
CC = icc \
CXX = icpc \
LD = mongod \
AR = xiar \
CFLAGS = "-O3-no-prec-p-ip-xSSE2-axSSE2 ″\
CXXFLAGS = "$ {CFLAGS }"\
./Configure & make install
Article 2: Compile and install tcmalloc
Wget http://google-perftools.googlecode.com/files/google-perftools-1.6.tar.gz
Tar zxvf google-perftools-1.6.tar.gz
CC = icc \
CXX = icpc \
LD = mongod \
AR = xiar \
CFLAGS = "-O3-no-prec-p-ip-xSSE2-axSSE2 ″\
CXXFLAGS = "$ {CFLAGS }"\
./Configure-disable-debugalloc-enable-frame-pointers & make install
Echo "/usr/local/lib">/etc/ld. so. conf. d/usr_local_lib.conf
/Sbin/ldconfig
Part 3: Compile and install Percona
CC = icc \
CXX = icpc \
LD = mongod \
AR = xiar \
CFLAGS = "-O3-unroll2-ip-mp-restrict-fno-tions-fno-rtti-no-prec-p-fno-implicit-templates-static-intel-static- libgcc-xSSE2-axSSE2 ″\
CXXFLAGS = "$ {CFLAGS }"\
CPPFLAGS = "-I/usr/alibaba/icc/include "\
LDFLAGS = "-L/usr/alibaba/icc/lib-lrt "\
./Configure-prefix =/usr/alibaba/install/percona-custom-5.1.53-12.4 \
-With-server-suffix =-alibaba-edition \
-With-mysqld-user = mysql \
-With-plugins = heap, innodb_plugin, myisam, partition \
-With-charset = utf8 \
-With-collation = utf8_general_ci \
-With-extra-charsets = gbk, utf8, ascii \
-With-big-tables \
-With-fast-mutexes \
-With-zlib-dir = bundled \
-With-readline \
-With-pthread \
-With-mysqld-ldflags = '-all-static-ltcmalloc '\
-Enable-Cycler \
-Enable-profiling \
-Enable-local-infile \
-Enable-thread-safe-client \
-Without-embedded-server \
-With-client-ldflags =-all-static \
-With-mysqld-ldflags =-all-static \
-With-mysqld-ldflags =-ltcmalloc \
-Without-query-cache \
-Without-geometry \
-Without-debug \
-Without-ndb-binlog \
-Without-ndb-debug
Make & make install after compilation