回答編集履歴
1
ミス修正
answer
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
私の環境では2147483647回のループでシェルスクリプトを実行しようとするとメモリアロケーションエラーが出てクラッシュしてしまったので、1000000に減らして実行し、さらにperlとawkで同じことをやってみました。
|
2
2
|
|
3
|
+
↓思い切りヤラカシていたので修正しました。結論は変わりません。
|
3
4
|
```
|
4
5
|
$ time ( for i in {0..1000000}; do echo -n a ; done;) >/dev/null
|
5
6
|
|
@@ -7,18 +8,18 @@
|
|
7
8
|
user 0m4.810s
|
8
9
|
sys 0m0.390s
|
9
10
|
|
11
|
+
$ time awk 'BEGIN{for(i=0;i<=100000;i++){printf "a",i}}' >/dev/null
|
12
|
+
|
13
|
+
real 0m0.025s
|
14
|
+
user 0m0.023s
|
15
|
+
sys 0m0.002s
|
16
|
+
|
10
17
|
$ time perl -e 'for(0..1000000){print "a"} ' >/dev/null
|
11
18
|
|
12
19
|
real 0m0.080s
|
13
|
-
user 0m0.
|
20
|
+
user 0m0.078s
|
14
21
|
sys 0m0.003s
|
15
22
|
|
16
|
-
$ time awk 'BEGIN{for(i=1000000;i<=10;i++){printf "a"}}' >/dev/null
|
17
|
-
|
18
|
-
real 0m0.003s
|
19
|
-
user 0m0.000s
|
20
|
-
sys 0m0.003s
|
21
|
-
|
22
23
|
```
|
23
24
|
|
24
25
|
どうやらawkが良さそうです。
|