タグ

LLVMとclangに関するhiroyukimのブックマーク (2)

  • qrintfの最適化 - 開発日記

    H2Oの内部では,数値,文字列のフォーマッタとしてsprintfが用いられています. 我々は,最近までsprintf専用ソースコード変換器, qrintfのチューニングを行っていました. 稿ではqrintfの概要と今回適応した工夫,そして今後の課題についてまとめておきます. 1. qrintfとは? qrintfとはCコンパイラの1つであるgccのプリプロセッサのラッパーであり,snprintfを高速化するソースコード変換器です. 稿執筆時点でのqrintfの変換対象はsprintfとsnprintfです.以下文中では特にことわりのない限りsprintfと記述した場合sprintf, snprintfの両方を指します. qrintfはソースコードに出現するsprintfで利用するフォーマット文字列を解析し,型ごとに用意された関数呼出にコードを書き換えsprintfの高速化を行います.

    qrintfの最適化 - 開発日記
  • LLVM Clang、並列処理性能大幅向上

    LLVM is a robust system, particularly well suited for developing new mid-level language-independent analyses and optimizations. OpenMP 3.1のフルサポートがLLVM Clang 3.1に追加されたことが、メーリングリストに投稿された「[LLVMdev] OpenMP 3.1 Support Implementation In Clang Is Available」によって明らかになった。OpenMP 3.1のすべての試験をクリアしているという。Clang 3.3に対してマージされたとされており、今後もマージを続けて最終的にすべての成果物を統合するとしている。 OpenMPは処理を並列に実行するための仕組みのひとつ。OpenMPに対応したソースコードを記述し

  • 1