弊社の MySQL 5.1 の Alpha でのベンチマークおよびテスト スィートのテストでは、動作に問題がないものと思われます。
弊社では現在 MySQL のバイナリ パッケージを AXP 用 SuSE Linux 7.0、kernel 2.4.4-SMP、Compaq C compiler (V6.2-505) および Compaq C++ compiler (V6.3-006) に対して Alpha EV6 プロセッサを搭載した Compaq DS20 マシンでビルドしています。
供述のコンパイラは http://www.support.compaq.com/alpha-tools/ にあります。.これらのコンパイラを gcc の代わりに使用して、およそ 9-14% ほどよい MySQL パフォーマンスが出ています。
Alpha の MySQL には、-arch generic
フラグをコンパイルに使用しており、このことはそのバイナリはすべての
Alpha
プロセッサで動作することを意味しています。また、バイナリの問題を避けるために静的にコンパイルしています。configure
コマンドは以下のようになります。
CC=ccc CFLAGS="-fast -arch generic" CXX=cxx \ CXXFLAGS="-fast -arch generic -noexceptions -nortti" \ ./configure --prefix=/usr/local/mysql --disable-shared \ --with-extra-charsets=complex --enable-thread-safe-client \ --with-mysqld-ldflags=-non_shared --with-client-ldflags=-non_shared
egcs を使用する場合、以下の configure 行が弊社では機能しました。
CFLAGS="-O3 -fomit-frame-pointer" CXX=gcc \ CXXFLAGS="-O3 -fomit-frame-pointer -felide-constructors \ -fno-exceptions -fno-rtti" \ ./configure --prefix=/usr/local/mysql --disable-shared
MySQL を Linux-Alpha で動作させた場合の既知の問題:
スレッド アプリケーションの MySQL
のようなデバッグはgdb 4.18
ではうまくいきません。.代わりに
gdb 5.1
を使用する必要があります。
gcc を使用して
mysql
を静的にリンクすると、結果のイメージが起動時にコアをダンプします。換言すると、--with-mysqld-ldflags=-all-static
を gcc
では使用しない
ということになります。