Recent news about gawk

gawk や AWK 全般のニュースを追いかけてみました。意外に gawk や他の AWK がメンテされていることがお分かりになると思います。

[Go to Index]

お知らせ

2003/10/14

RedHat Linux は Fedora と名前を変えるわけだけど、実際のインパクトは文字コードの標準が EUC から UTF-8 に変わることの方が大きいです。これは RedHat Linux に限らず Gnome 環境を使用している人全員が関係してきますので注意です。

2003/10/07

comp.lang.awk にて gawk の作者 Arnold D. Robbins が「gawk 3.1.3 string concatenation speedup: final diff」というタイトルで投稿しています。簡単に言うと連接の高速化です。diff ファイルには gawk 3.1.4 という文字が見られることから gawk 3.1.4 に組み込まれるものと思われます。

実際に私がこのパッチを適用して gawk をコンパイルしたところ、連接の速度が約 4 倍になっていることを確認しました。遅い連接、速い sprintf() 関数という言い伝えに完全に終止符が打たれそうです。なお、このパッチを適用して make check を行なった時に syntax error と parse error が今までと異ってしまいますので、充分に注意して下さい。

とりあえず、以下のようなプログラムで検証できます。string concatenation と sprintf() function と書かれた部分をコメントし合うことで切り替えて使ってください。

#! /usr/local/bin/gawk -f
#-----
# string concatenation test for gawk 3.1.4 (2003/10/7).
#-----
BEGIN {
  printf( "Now Roop Testing...\n" );
  Str = "a";
  i = 0;
  RoopTime = 0;
  StartTime = srand() - srand();
  EndTime = StartTime;
  while ( StartTime - EndTime < 10 ) {
    EndTime = - srand();
    Str = Str " ";                # <-- string concatenation
#    Str = sprintf( "%s ", Str );  # <-- sprintf() function
    i = i + 1;
  }
  printf( "Finished! Roop Time = %d\n", i );
}
Copyright © 2003 by Hirofumi Saito <hi_saito@yk.rim.or.jp>. All rights reserved.