タグ

高速化とシステムに関するbeth321のブックマーク (2)

  • 平方数かどうかを高速に判定する方法 - hnwの日記

    平方数とは、ある整数の平方(=二乗)であるような整数のことを言います。つまり、0,1,4,9,16,...が平方数ということになります。 ところで、与えられた整数が平方数かどうかを判定するにはどうすれば良いでしょうか。与えられた整数の平方根の小数点以下を切り捨て、それを二乗して元の数になるかどうか、というのがすぐ思いつく実装です。 <?php function is_square($n) { $sqrt = floor(sqrt($n)); return ($sqrt*$sqrt == $n); } しかし、平方根の計算は比較的重い処理です。もっと高速化する方法は無いのでしょうか。 多倍長整数演算ライブラリGNU MPには平方数かどうかを判定するmpz_perfect_square_p関数が存在します(PHPでもgmp_perfect_square関数として利用できます)。稿ではこの実装

    平方数かどうかを高速に判定する方法 - hnwの日記
  • Windowsページファイル設定の正しい方法とその理由 | ライフハッカー・ジャパン

    ウェブ上に無数ある間違った情報に基づいたアドバイスを見かけるとテックライターHow-To Geekとしては正しい情報を発信しなくては、という責任感にかられるので、今回はシステムページファイルについての正しい情報をお届けします。 ■そもそもページファイルとはなんぞや?および設定調整方法。 まずはそもそもページファイルとはなんぞや、というところからお話します。 例えば、Firefoxなどのアプリが大量のメモリを消費し、システムのRAMが低下している時に、Windowsは使用しているアプリに対してRAMを解放するために、使用されていない「ページ」のメモリをいずれかのドライブのルートにある「pagefile.sys」という隠しファイルへ移動させるようになっています。 つまり、開いてはいるけれどもウィンドウが最小化された状態でしばらくアクセスしていないアプリがある場合、Windowsはそのアプリのメ

    Windowsページファイル設定の正しい方法とその理由 | ライフハッカー・ジャパン
  • 1