「よりパフォーマンスの高いプログラムを作成するにはアセンブラを駆使すべし」という話を聞いたことがある人も多いだろう。これは、C/C++言語で記述されたプログラムには冗長な部分があるため、ノウハウを持つプログラマがアセンブラでチューニングしたプログラムの方が高いパフォーマンスを得られる、ということであった。しかし、現在では必ずしもこのことは当てはまらなくなっている。その理由は、コンパイラの進化と、CPUおよびPCアーキテクチャの複雑化にある。
インテル謹製の数値演算ライブラリ「MKL」を使ってプログラムを高速化
各種スケジューリング処理やシミュレーション、統計処理、デジタル制御や信号処理などの分野では、多次元行列演算や高速フーリエ変換(FFT)、線形計画法など、さまざまな数学的処理が必要とされる。これらの処理に対するアルゴリズムはほぼ完成されており、フリー/商用を問わず、すでに多数の計算ライブラリがリリースされている。その1つが、インテルが提供する「インテル マス・カーネル・ライブラリ」(Intel Math Karnel Library、以下MKL)だ。
マルチメディア処理から信号処理まで幅広く活用できる高速ライブラリ「IPP」
インテル C++ コンパイラーに付属するライブラリの1つに「インテル インテグレーテッド・パフォーマンス・プリミティブ」(Integrated Performance Premitive、以下IPP)がある。IPPは動画や音声、画像などの処理に向けた関数を備えたライブラリなのだが、実際のところIPPがどのようなものなのか分からない方も多いだろう。そこで本記事では、IPPには何が含まれており、またどのような用途に使えるのか、紹介していこう。
「最適化・並列化コードを生み出す最新コンパイラ「インテル コンパイラー」サンプルコード
このページでは『最適化・並列化コードを生み出す最新コンパイラ「インテル コンパイラー」』記事内で使用したソースコードをまとめています。
ValaによるGNOMEアプリケーションのプログラミング
GNOMEのプログラミング言語Valaを使えば、わざわざANSI Cでオブジェクト指向的なプログラミングをしなくても、GNOMEデスクトップのコア部分であるGLib2オブジェクトシステムを利用できる。MonoやJavaとは異なり、Valaのプログラムには仮想マシンもランタイムライブラリも必要なく、Valaオブジェクトを利用する人々はそれらがC以外の言語で書かれていることを知る必要さえない。
統合開発環境「NetBeans IDE 6.5」正式版リリース
オープンソースプロジェクトのnetbeans.orgは2008年11月20日、統合開発環境の最新版「NetBeans IDE 6.5」の正式版を公開した。新たにPHPをサポートしたほか、JavaScriptやデータベースの対応を改善した。netbeans.orgからダウンロードできる。
C CodでCコードをスクリプトのように扱う
C Codは、C、C++、またはObjective-Cコンパイラのフロントエンドとして、C言語をスクリプティング言語のように扱うことを可能とするものである。C Codには、C Server Pagesが付属している。C Server Pagesは、ウェブアプリケーションをCまたはC++で記述し、それをオンデマンドで自動的にコンパイルできるようにするために、CGIをサポートする。
コベリティ、アーキテクチャを視覚化するソースコード解析ツール
コベリティ日本支社(東京都新宿区)は2008年11月17日、ソフトウェアシステムを視覚化できるソースコード解析ツール「Coverity Architecture Analyzer」の国内販売を開始した。潜在的な欠陥を検出して、ソースコード変更箇所がもとの設計仕様に一致しているか確認。チーム開発での品質を高められるという。