免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6309 | 回复: 9
打印 上一主题 下一主题

请教icc编译mysql [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-04-21 21:16 |只看该作者 |倒序浏览
最经需要用icc编译mysql,不知道各位有没有在redhat AS4现面用icc编译过mysql?
还有就是用icc编译后的mysql是不是性能上会比gcc好呢!
希望能给提点建议和资料,谢谢!


谢谢各位,搞定了
写了一篇完整的编译方法,与各位分享
现在我们在linux下用的编译器主要是gcc,gcc是一款不错的编译器,但inter的编译器icc在
inter的机器上比gcc有更高的性能!下面说说用icc如果编译mysql,性能提高10%以上噢!
还是很有诱惑力的。
首先要到www.intel.com上注册个邮箱号,这样你会得到一个授权码和授权文件,这个授权只能用一个月。
记下授权码,授权文件会发到你注册的邮箱里。然后下载你需要的icc安装文件,现在最新
的版本是10.1的,我下载的是10.0的,有32位的和64位的,可以根据自己的需要来下载。
我得到的是
l_cc_p_10.0.023_ia32.tar.gz
EVAL_L_CMP_CPP_VJFV-JJJ6KJRX.lic
还有安装前要安装个rpm包
compat-libstdc++-33-3.2.3-63.i386
这个包可以在www.rpmfind.net里找到
不然会提示你缺少库,安装不成功
将授权文件,和icc安装文件上传到linux服务器上,解压
tar zxf l_cc_p_10.0.023_ia32.tar.gz
cd l_cc_p_10.0.023_ia32
./install.sh
按照提示输入授权码和授权文件的位置
安装完毕icc
如果是默认安装的话需要执性下面的命令
source /opt/intel/cc/10.0.023/bin/iccvars.sh
这样icc的环境就好了
下面就用icc安装mysql
tar zxf mysql-5.0.45.tar.gz
cd mysql-5.0.45

CC=icc CXX=icpc CFLAGS="-O3 -unroll2 -ip -mp -no-gcc -restrict" CXXFLAGS="-O3 -unroll2 -ip -mp -no-gcc -restrict" ./configure --with-mysqld-ldflags=-all-static -enable-assembler --with-innodb --prefix=/system/mysql
make
make install
groupadd mysql
useradd -g mysql mysql
chown +w /system/mysql/
chmod +w /system/mysql/
chown -R mysql:mysql /system/mysql
/system/mysql/bin/mysql_install_db
chown -R mysql:mysql /system/mysql
/system/mysql/bin/mysqld_safe --user=mysql &

我在centos 4.4  centos 5下面都安装成功


实验结果:
gcc
mysql> call Insert(1, 1000000);
Query OK, 1 row affected (29.67 sec)


icc
mysql> call Insert(1, 1000000);
Query OK, 1 row affected (22.52 sec)

[ 本帖最后由 smz0102 于 2008-6-20 11:47 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-04-22 09:08 |只看该作者
一般来说,intel平台下,用icc会比gcc好一点,但是现在的机器性能也差不到哪去,所以这点差别基本可以忽略不计

论坛徽章:
0
3 [报告]
发表于 2008-04-22 11:39 |只看该作者
根据手册上介绍。性能会提高1-4%。个人感觉没有这个必要。

论坛徽章:
0
4 [报告]
发表于 2008-04-28 15:25 |只看该作者
谢谢各位,但头要求用icc,没办法啊
大家有没有什么资料可以介绍给我啊?

论坛徽章:
0
5 [报告]
发表于 2008-04-29 17:59 |只看该作者


  1. CC=icc \
  2. CXX=icpc \
  3. CFLAGS="  -O3 -ip -static   -static-intel -no-gcc -no-prec-div  -mp -unroll2 -xT"  \
  4. CXXFLAGS="-O3 -ip -static -static-intel -no-gcc -no-prec-div  -mp -unroll2 -xT"  \
  5. LDFLAGS='-static -static-intel' \
  6. LD=xild \
  7. AR=xiar  \
  8. ./configure \
  9. --prefix=/usr/local/mysql  \
  10. --with-server-suffix='-chinavisual-icc10-compiled' \
  11. --with-pic \
  12. --enable-assembler \
  13. --enable-local-infile \
  14. --with-readline \
  15. --disable-shared  \
  16. --with-extra-charsets=all \
  17. --enable-thread-safe-client \
  18. --without-embedded-server\
  19. --with-ndbcluster \
  20. --with-innodb \
  21. --with-archive-storage-engine \
  22. --with-blackhole-storage-engine \
  23. --with-federated-storage-engine \
  24. -with-client-ldflags=-all-static \
  25. --with-mysqld-ldflags=-all-static \
  26. --with-zlib-dir=bundled \
  27. -with-mysqld-ldflags=-all-static \
  28. --with-client-ldflags=-all-static \
  29. --with-big-tables
  30. make clean
  31. make

复制代码


这是我用的编译脚本,RHEL4/5 64bit

论坛徽章:
0
6 [报告]
发表于 2008-05-06 10:55 |只看该作者
给一个用icc编译5.0rpm包的spec文件,编译器选择需要自己在rpmbuild命令中用参数指定

mysql-icc.zip

11.87 KB, 下载次数: 63

论坛徽章:
0
7 [报告]
发表于 2008-05-17 21:34 |只看该作者
谢谢各位,搞定了
写了一篇完整的编译方法,与各位分享
现在我们在linux下用的编译器主要是gcc,gcc是一款不错的编译器,但inter的编译器icc在
inter的机器上比gcc有更高的性能!下面说说用icc如果编译mysql,性能提高10%以上噢!
还是很有诱惑力的。
首先要到www.intel.com上注册个邮箱号,这样你会得到一个授权码和授权文件,这个授权只能用一个月。
记下授权码,授权文件会发到你注册的邮箱里。然后下载你需要的icc安装文件,现在最新
的版本是10.1的,我下载的是10.0的,有32位的和64位的,可以根据自己的需要来下载。
我得到的是
l_cc_p_10.0.023_ia32.tar.gz
EVAL_L_CMP_CPP_VJFV-JJJ6KJRX.lic
还有安装前要安装个rpm包
compat-libstdc++-33-3.2.3-63.i386
这个包可以在www.rpmfind.net里找到
不然会提示你缺少库,安装不成功
将授权文件,和icc安装文件上传到linux服务器上,解压
tar zxf l_cc_p_10.0.023_ia32.tar.gz
cd l_cc_p_10.0.023_ia32
./install.sh
按照提示输入授权码和授权文件的位置
安装完毕icc
如果是默认安装的话需要执性下面的命令
source /opt/intel/cc/10.0.023/bin/iccvars.sh
这样icc的环境就好了
下面就用icc安装mysql
tar zxf mysql-5.0.45.tar.gz
cd mysql-5.0.45

CC=icc CXX=icpc CFLAGS="-O3 -unroll2 -ip -mp -no-gcc -restrict" CXXFLAGS="-O3 -unroll2 -ip -mp -no-gcc -restrict" ./configure --with-mysqld-ldflags=-all-static -enable-assembler --with-innodb --prefix=/system/mysql
make
make install
groupadd mysql
useradd -g mysql mysql
chown +w /system/mysql/
chmod +w /system/mysql/
chown -R mysql:mysql /system/mysql
/system/mysql/bin/mysql_install_db
chown -R mysql:mysql /system/mysql
/system/mysql/bin/mysqld_safe --user=mysql &

我在centos 4.4  centos 5下面都安装成功

论坛徽章:
0
8 [报告]
发表于 2008-05-19 16:48 |只看该作者
加精华了。大家可以继续讨论。

论坛徽章:
0
9 [报告]
发表于 2008-05-23 13:30 |只看该作者
哈哈,谢谢版主加精
我们还在测试,过几天我想弄个压力测试看看与GCC的性能对比,有结果后告诉大家

论坛徽章:
0
10 [报告]
发表于 2008-05-26 15:49 |只看该作者
一般用MYSQL提供的BINARY就可以了,我们公司以前有同事尝试过使用自己编译的,但测试出来没有MYSQL提供的快。。。汗。
ICC的版本,如果对CPU运算要求高,可以试用一下,但我们数据库系统的瓶颈一般在磁盘和内存
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP