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

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でも実行可能。

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