シェルスクリプトで円周率の演算時間を出して遊ぶ

timeとbcを組み合わせて円周率計算をしつつ実行時間を得るというワンライナー。 time echo "scale = NUMBER; (12*a(1/49)+32*a(1/57)-5*a(...

timeとbcを組み合わせて円周率計算をしつつ実行時間を得るというワンライナー。

time echo "scale = NUMBER; (12*a(1/49)+32*a(1/57)-5*a(1/239)+12*a(1/110443))*4" | bc -qls

依存はbc。

timeでエラーとなった場合はtimeがインストールされていないのでGNU timeあたりをインストールすると使える。

bashやtcshやzshは内部組み込みコマンドへtimeを持っているので直ぐ使える。

shやdashあたりは内部にtimeを持っていないのでエラーになることがある(Debian系ディストーションはGNU timeがプリインストールされているのでエラーにならないはず)。

NUMBERが求めたい円周率の桁数でscale = 100;なら100桁、 scale = 10000;なら 10,000桁を計算する。

ちなみにAndroid端末であればTermuxでも実行可能。

コメントを投稿するには サインイン する必要があります。

  • @keizou 調子に乗って桁数増やしすぎると演算終わらなくて夏場だし涙目になるよ!

    • 1 vote
    • I appreciate how Doodle Jump can be played offline. It's a lifesaver during long flights or when I don't have internet access. The gameplay is smooth, and there are no annoying ads interrupting the experience. A classic arcade game in your pocket!

      • 1 vote