研究日誌。

大規模なグラフ処理に対してメモリ階層構造を考慮した高性能なソフトウェアを開発。

constructor / destructor.

2009-11-20 02:57:23 | Weblog
main() の前や後に実行することができる。GotoBLAS2 では、ここで pthread_create を実行している模様。個人的には CPU 数やpagesize の取得なども使えるかと思う。sysconf()を何回も呼び出すのはどうもきれいではない気がするので。それから、Thread 数を環境変数から取得するとか、実行環境情報を取得する方法としては使い道が結構ありそう。
void __attribute__ ((constructor)) initializer(void) {
  /* main() の前に実行 */
}

void __attribute__ ((destructor)) finalizer(void) {
  /* main() の後に実行 */
}