UNIXからLinuxへの移植を行っています。
通常Linuxに移植した場合、Linuxの性能上 処理時間が短縮されると聞いていますが、
UNIXのシェルで作成されているプログラムを移植しましたところ、逆に処理時間が遅延してしまいました。
シェルのどの部分で時間がかかっているか調べましたところ、「gawk」コマンドで時間がかかっている模様です。
(gawk実行時間 UNIX:21行/秒、Linux:5行/秒)
(gawk -v dat=$key -v rno=$RECNO 'BEGIN{FS=",";OFS=","}{if(dat == $18){$18=rno substr($18,5);print $0} else {print $0}}' $MOTOOBJ > $KEKKAOBJ)
時間短縮を目標に作業を行っていますので、遅延するのであれば 理由を提出しなければなりません。
ご存知の方がおられましたら、ご教授願います。
よろしくお願いいたします。
A 回答 (2件)
- 最新から表示
- 回答順に表示
No.2
- 回答日時:
大きな csv みたいだから、物理ディスクとかファイルシステムの違いが大きく影響すると思うよ。
とりあえず出力を >/dev/null にしてみてもう一度時間を比較してみるのはどう?
No.1
- 回答日時:
> 通常Linuxに移植した場合、Linuxの性能上 処理時間が短縮されると聞いていますが、
そうとは限りません。同じLinux 上でも bash(デフォルト と
ashでは全然処理速度が違います。(ashの方が速い)
それは当然ですよね? やっていることは同じでも実装が異なるわけですから。
awkも同じです。Unix(SolarisかHP-UXかAIXかは知りませんが)のawkの実装と
gawkの実装は全く別物です。
なので、Unix上で速いコマンド、Linux上で速いコマンドがあるのは当然のことです。
gawkについて言えば、マルチバイトを無効にする(環境変数LANGをCに設定する)
ことで、ご提示いただいたプログラムは4倍くらい高速になるようです。
ただし、keyにマルチバイト文字を含む場合、substrが文字単位ではなく、
バイト単位で解釈されます。
Unixのawkの中にはそもそもマルチバイトを扱えない実装もあるでしょうから、
結果としてUnixのawkの方が高速になっているだけかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Linux用のインストーラー(USB...
-
bashでシングルクォート内の変...
-
ubuntu(linux)のシャットダウン...
-
ubuntuのシャットダウンが進ま...
-
ubuntuで デイスク/deb/loopと...
-
WineのRufusでデバイスを検知す...
-
ログにserver reached MaxReque...
-
shellscript内のコマンドを、su...
-
Lubuntuのデスクトップのアイコ...
-
AWSでSSH接続をしたいのですが...
-
Ubuntu on Xorgのログインについて
-
jsLinuxのコマンドについて。 a...
-
Linuxミントで困っています。 s...
-
Linuxへの移行 来年でWindows10...
-
Ububtuでファイル共有できない...
-
ntpq -pの結果が全てstratum 16...
-
Kali Linuxで起動できない - Mi...
-
Linux のシェルスクリプトの強...
-
Ubuntu でinvalid filenameとな...
-
Fedoraのupgradeで、libruby.so...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ubuntu(linux)のシャットダウン...
-
bashでシングルクォート内の変...
-
Linuxへの移行 来年でWindows10...
-
ubuntuで デイスク/deb/loopと...
-
Linux Mint 日本語入力できなく...
-
AWSでSSH接続をしたいのですが...
-
shellscript内のコマンドを、su...
-
ubuntuのシャットダウンが進ま...
-
ログにserver reached MaxReque...
-
LinuxMintが突然フリーズする
-
linuxサーバーのキャッシュをク...
-
Lubuntuのデスクトップのアイコ...
-
Windowsのローカルディレクトリ...
-
Ubuntu on Xorgのログインについて
-
Linux のシェルスクリプトの強...
-
ssl_request_logの必要性について
-
2TBのUSBメモリを2000円ほどで...
-
tarで纏める際に、複数場外した...
-
[Linux Mint] インストールした...
-
LinuxのノートパソコンでDVDコ...
おすすめ情報