タグ

ブックマーク / syohex.hatenablog.com (2)

  • FreeBSDの posix_spawnの実装 - Shohei Yoshida's Diary

    http://blog.kazuhooku.com/2015/05/how-to-properly-spawn-external-command.html を見て, 再現コードを FreeBSDで実行してみたとき, 期待される挙動になったので FreeBSDでの実装を確認してみました. コード FreeBSD r282608のソースコードを対象にしています. posix_spawnは lib/libc/gen/posix_spawn.cで定義される. int posix_spawn(pid_t *pid, const char *path, const posix_spawn_file_actions_t *fa, const posix_spawnattr_t *sa, char * const argv[], char * const envp[]) { return do_posix

    FreeBSDの posix_spawnの実装 - Shohei Yoshida's Diary
    nurse
    nurse 2015/05/22
  • GCCの最適化オプションは "-O3"までしかない - Shohei Yoshida's Diary

    ここ十数年ぐらいの GCCの最適化は "-O3"までありません。 稀に "-O3"より大きい、"-O4"等を見るけど、それは結局 "-O3"に されてしまいます。 追記 なお最高速度のオプションは "-Ofast"です。ただこれは規約に 沿わない形での最適化も含まれます。大部分は問題無いと思い ますが、利用する場合は一応注意した方がよいでしょう。 GCC 4.8 snapshotのソースコードで確認したところ、一応内部的には保持 されていますが、結局最大で 3との比較しかないので意味がありません。 (255以上だと 255以上にされます) 大昔は "-O6"まであったという話ですが、今はありません。 将来的にどうなるか知りませんが、意図しないことをされないように "-O3"までをつけるのが無難でしょう。 各オプションの違いを知る。 GCCの各オプティマイズレベルで有効になる最適化を調べる

    GCCの最適化オプションは "-O3"までしかない - Shohei Yoshida's Diary
    nurse
    nurse 2012/12/13
  • 1