テスト - みる会図書館


検索対象: UNIX MAGAZINE 1991年12月号
45件見つかりました。

1. UNIX MAGAZINE 1991年12月号

第 e $ & 第 0 0 ee べンチマーク・プログラム 今回おこなった各テストの詳細は以下のとおりです。 ◆空テスト何もしないテスト。テストする手続きの部 分が空で、時間計測部分だけしかない PostScript フ ァイルを送ります。つまり、内部時間ははとんど 0 に なります。 どのテストでも、経過時間には最後に内部時間を出力 するのに要した時間も含まれてしまいます。空テスト の経過時間を求めておくと、内部時間の出力にかかる 時間が分かるので、はかのテストの経過時間からこの ぶんを差し引いて、真の経過時間が推察できます。 ◆転送時間意味のない文字列を大量に送り、受け取る プリンタはそれをすべて捨てます。つまり、プリンタ は複雑な計算をすることもなく、文字や図形を出力す ることもないので、純粋に転送に要した時間に近い結 果が得られます。 たとえば、あとで述べる結果のなかで、 NTX-J の空 テストは 19 秒、転送時間テストは 292 秒になってい ます。この 292 秒から空テストの 19 秒を引くと、純粋 な転送時間は 273 秒となります。このテストでは約 256KB のデータを送っているので、 256X1024 十 273 = 960 .23. (B/s) となり、 1 バイトはデータの 8 ピットとスタートピット、 ストップピット各 1 ピットで 10 ピットに相当するこ とから、ほば 9 , 600bps で転送されていることが分か ります。 ◆直線さまざまな太さの直線を大量に描きます。、、テス ト A" は水平な線だけを使い、、、テスト B" は多種多様 な角度の線を描きます。 ◆英文字 Times-Roman のフォントを用いて、種々 の大きさで文字を描きます。文字に関しては、アウト ラインのフォントから生成したイメージをプリンタ内 部でキャッシュすることがあるので、同しテストを連 続して 2 度おこないます。この際、可能な場合は 1 回 目のテストの前にプリンタをリセットして、キャッシ ュがクリアされるようにしました。 ◆漢字漢字に関しても英文字と同様に、 Ryumin- UNIX MAGAZINE 1991.12 Light ー H というフォントを用いて 2 度のテストをお こないました。 ◆イメージ 256 階調のグレイスケールの適当な画像を 描きます。、、テスト A 〃は正位置で描画し、テスト B" はテスト A" と同しデータを 30 度左に傾けて描画し ます。 ◆ troff の出力 (TranScript) 実使用時に近い Post- Script ドキュメントの出力例として、オンライン・マ ニュアルを TranScript6 を用いて PostScript に変 換したものを出力します。使ったマニュアルは、、 term - cap(5 ) 〃で、出力枚数は内部時間の印刷を含めて 10 枚です。このテストでは内部時間のほかに、経過時間 も測定しました。 ◆明 X の出力 ( アスキー X 十 jd ⅵ 2k ) 日本語の 文書の出力例としては、 X の文書 ( d ⅵファイル ) を jdvi2kps で PostScript に変換したものを使いまし た。出力は内部時間の印刷ぶんを含めて 14 枚です。た だし、日本語のフォントに関しては内蔵のアウトライ ンフォントを使用しますが、でよく使われる 、、 Computer Modern" フォントは PostScript のフォ ントではないため、 PostScript ファイル中にはその 文書で使用するすべての文字のピットイメージが入る ことになります。しかし、これが一般的な使用形態と 考え、テストはこのままおこないました。 こで問題があります。一般的には PostScript はデ バイスの解像度に依存しないことになっていますが、 アウトラインではなくビットイメージでフォントを送 る場合にはそうはいきません。デバイスの 1 ドットの 大きさと送ったデータの 1 ドットの大きさが微妙に 違うと、出力はされますが汚いものになります。この ため、 jdvi2kps などのソフトウェアでは、ヾー d 〃オプ ションでプリンタの解像度を指定できるようになって います。 4109 は 400dpi ですが NTX-J など 300dpi のプリンタもあるので、このべンチマークでは 300dpi の場合と、それぞれのプリンタで使える最大の解像度 の場合の 2 とおり (300dpi だけの場合は 1 とおり ) を テストしました。 6 Adobe が開発した、各種ドキュメントを PostScript デバイスに出力するた めのソフトウェア。 27

2. UNIX MAGAZINE 1991年12月号

HP SoftBench 環境 C / C 十十用テスト検証ツ David L. Neuder ソフトウェア製品のテストは、ソフトウェアの開発サイ クルに応していくっかの異なる形態をとる。図 1 ( 59 ペー ジ ) はテストがおこなわれる時機を表している。プロジェ クトのスケジュール、ソフトウェア製品の種類などの要因 によって、すべての局面でテストをおこなうか否か、どの 程度詳細にテストをおこなうかが決まる。通常、実行可能 モジュールのテストは、ソフトウェア製品の種類にかかわ りなく、部分的にも ( モジュール単位のテスト ) 、全体的に も ( 統合テスト ) テストされる。モジュール単位のテストの 場合、コードと同時にそのテストのためのコードも書かれ るので、開発者がコードを熟知しており、遺漏が少なくな る傾向がある。適切に構成されたモジュール・テストは、 欠陥の見落としや、コードの修正によって生しる副作用を 減らすのに著しい効果がある。しかし、自動化された支援 がなけれは、開発者がすべてのモジュールをテストするコ ードを書くのにかなりの時間を費やしてしまうし、テスト の有効性の測定も困難になる [ 1 ] 。 HP Branch VaIidator は、ソフトウェアの実行および テストの検証をおこなうツールであり、分岐分析を用いて モジュール単位のテストの効率を高める。このツールは、 C プログラムを分析し、ソフトウェア・アプリケーション のどの分岐が実行されたのかを論理的に検証する。分岐は、 コード中のデシジョン・ポイント以降の経路として定義さ れる。デシジョン・ポイント以降のさまざまな経路が、そ れぞれアプリケーションの分岐になる。 HP Branch Validator は、これらの分岐がすくなくとも 1 度は実行さ れたかどうかを調べる。図 2 ( 59 べージ ) に、プログラム・ はじめに 58 フローにおけるデシジョン・ポイントの分岐を示す。 HP Branch VaIidator は Encapsulator [ 1 ] [ 2 ] を使 うことで染みやすいウインドウ・インターフェイスを提 供し、分岐カバレッジ ( coverage ) の分析処理を手早くで きるようにしている。このインターフェイスにより、 HP Branch Validator は、スタンドアローンの製品としても、 統合された SoftBench 環境 [2] の一員としても実行でき るようになっている。さらに、コマンド行インターフェイ ス上から、 SoftBench 使用時に作成されるレポートに似た 分岐カバレッジレポートを作成することもできる。このた め、グラフィカルでない端末でも実行できる。 HP BranchVaIidator のネイテイプ・バージョンと組 込みバージョンは、いすれも HP 9000 シリーズ 300 / 400 / 800 をホストとして実行される。組込みバージョンは、組 込みマイクロプロセッサ開発アプリケーションのための AxLS C 言語をサポートする。ネイテイプ・バージョン は、 HP-UX C および C 十十をサポートする。 HP Branch VaIidator は、 C プログラムを処理するよ うに設計されている。 C 十十プログラムを扱う場合には、 C 十十のファイルを C のファイルに変換しなければならな い。処理はこの C ファイルに対しておこなわれる。 C 十十コ ンパイラの適切なオプションを選べば、 C 十十ファイルか らオプジェクト・ファイルへのコンパイル処理は 1 度です む。このようにして得られた分析結果は、もとの C 十十ソ ースファイルに反映される。 HP Branch Validator は、 HP Branch Validator プ ロセッサ、 HP BranchValidator レポート・ジェネレー 夕、 HP Branch Validator SoftBench インターフェイ スの 3 つの部分からなる。図 3 (59ページ ) に、 HPBranch ValidatorSoftBench インターフェイスの画面の例を示す。 UNIX MAGAZINE 1991.12

3. UNIX MAGAZINE 1991年12月号

HP SoftBench 図ー ソフトウェア開発におけるテストの時機 システムの仕様 テストに不合格 ・仕様のテスト ソフトウェアの 設計 テストに不合格 図 2 BBA Con ー 0 気 . ~ 分・岐 . 図 3 テ、シジョン If-E1se/Switch ・ポイントと分岐 システムの 仕様に基づいた テスト項目の作成 ソフトウェアの テスト項目の作成 設計に基づいた モジュール単位の テスト項目の作成 ・テストの アーカイプ —Case ポイント テーシジョン・ Whi1e/D0—Whi1e/For 、 - ー - ・分岐アシション・ 分岐 SoftBench インターフェイス中の HP Brach Validator ・設計のテスト ソフトウェアの 実装 ハードウェアと ソフトウェアの 統合 実行可能な ソフトウェア NO テストに関連する作業 プリプロセッサ ロ 役立つ作業 Branch Va ato 「が SottBench ー 6 日 A Actions Edit Settings Help ・ hpls 引 n : ん“ / hP64000 / demo / bb / d0E02 / * P0「C0nしー-ーHi虱09ー0n1-ーーーー . —Function 3 3 0 keyconvert bitpos twobits So れ日 ench 一日日 A にに一 k e V V 日一いに 0 司 File 0 司 i',et k e v . c mu ー t i b i t s . c COnvert . C ソフトウェア はテストに合格 したか ? yes ・十分にテストしたか Yes 製品のリリース Sou 「 ( 0 Function: 00 ⅸ eyv 引 uo inFile: 9 ・ⅸ・ 0 if' was n に ve 「 TRUE ( 1 ) conditional of 52 / 第 FirSt test: if both horiz and vert are 0 , just return 51 55 56 5 7 58 59 - ) 5 3 / 第 i f ( ( h 0 r i / return(KEY_NONE); SeCond: if more than 0 れ・ key pressed, return an に rro 「 ((twobits(horiz) ! = 0 ) HP Branch VaIidator のプリプロセッサは、 C のプリ プロセッサに代わって C または C 十十のコードを分岐分 析に適した形式に変換する。プリプロセッサは、どの分岐 が実行されたかを記録するための配列の定義文と、その配 列を用いて記録をおこなう代入文をソースファイルに挿入 する。さらに、プリプロセッサはマップファイルを生成す る。このマップファイルには、分岐をソースファイル内の 関連する行に対応させるための情報が記録される。プリプ ロセッサがどのように働くかを次の小さなソースファイル UNIX MAGAZINE 1991.12 int he110 ; yousay(hello) extern int goodbye ; で見てみよう。 if ( he110 = = goodbye) goodbye = he110 + 3 ; else goodbye = he110 ー 5 ; このファイルを HP Branch VaIidator で変換すると、 リスト 1 ( 60 ページ ) のような中間ファイルが生成され、コ ンパイルされる。 この中間ファイルには、 HP BranchVaIidator のプリ プロセッサがもとのソースコードに付加した命令文が含ま れている。追加されたのは、分岐配列 ( 1 行目で定義されて いる char-bA-array[3 ] = {O};) と、分岐実行文 ( 7 、 8 、 10 行で定義されている一 bA ー a ay [ x ] = 1 ; ) および分岐の 検証処理を管理する構造体である。 1 行目の分岐配列は、 実行された分岐を記録する。対応する分岐が実行されると、 配列要素に 1 がセットされる。分岐文は、もとのプログラ ムの論理を変えないように挿入されている。 7 行目の最初 59

4. UNIX MAGAZINE 1991年12月号

e $ & 新 0 ル 0 00 を直接編集してはいけません。 リモートプリンタの pr ⅲ tcap 次に、はかのマシンからも使えるように設定します。 表 6 rm rp sd If リモートプリンタのための printcap 記述例の説明 プリンタ名は umxps で別名は xps 、、 A4 、 A4Paper 出力デバイス名はこのようにかならす NULL 文字列にる リモートホスト名は unimaga リモート リンタ名は umxps ール・ディレクトリは /usr/spool/ra41pd ス ログファイル名は usr adm/lpd. errs 基本的には使いたいマシン側の printcap を編集し、 lpd デーモンを動かせばよいのです。ここでは典型的な例を ・リモートプリンタのための printcap 記述例 1 加 xp 引引 1 可 A41 A4Paperl Auto select A4 tray: \ 、、、もとに説明します。 : lp= : m=unimaga:rp=umxps : \ : sd=/usr/sp001/ra41pd: \ : If = / us て / a 面 / 1 . errs : このように、プリンタ名とスプール・ディレクトリを 定義します俵 6 ) 。注意点は lp フィールドに NULL 文 字列を指定することと、プリンタが実際に接続されてい るワークステーション ( この例では unimaga) の /etc/ hosts. equ ⅳに自分のホスト名が含まれているかどう かを確認することです。 SunOS4. X や 4.3BSD の場合 には、 /etc/hosts. equiv のほかに /etc/hosts .lpd とい うファイルがあり、自分のホスト名が hosts. equiv に入 っていなくても、 hosts. lpd に入っていればプリンタに アクセスできます。 hosts. equ ⅳはセキュリティ・ホー ルになることがあるので、できるだけ hosts. lpd を使う ほうがよいでしよう。 べンチマークテストの説明 今回は、とりあげた PostScript プリンタについて、ワ ークステーション本体のようにべンチマークテストで性 能を評価してみました。 しかし、 PostScript プリンタの性能を計るための標 準的なべンチマークテストは、残念ながらありません。 そこで、 PostScript の各種の性能を計る簡単なテスト をいくっか作ってみました。これで十分とは断言できま せんが、ある程度の参考にはなると思います。 テストは大きく分けて 2 種類あります。 1 つは、 Post- Script の代表的な機能を集中的に実行し、それにかかっ た時間を謙則します。これは、ワークステーションのテ ストにおける xbench のようなものです。もう 1 つは、 UNIX MAGAZINE 1991 ユ 2 MUSBUS のように日常的な作業でのパフォーマンス をはかるために、 roff や X の文書の出力をおこなう ものです。 時間の計り方 前述のとおり、 PostScript は高級プログラミング言 語並みの能力をもっています。また内部に時計ももって いますので、べンチマークのために実行時間を計るよう なプログラムも簡単に書けます。 べンチマーク用プログラムは次のような構成になって います ( 26 ページリスト 1 参照 ) 。 ・時間計測用の手続きを定義する ・テストの手続きを定義する 現在時刻を記憶する ・テストの手続きを呼び出す ・現在時刻からテスト前の時刻を引いて、結果を出力す る テストの内容をあらかしめ手続きとして定義しておき、 あとでわざわざ呼び出すようにしたのは、時間を計り始 める前にテストプログラムの転送を終えて、計測される 時間のなかにテスト内容の転送時間が含まれないように するためです。 ただし、大きな文書を印刷するテストでは、 1 つの手 続きとして定義するのが困難であるなどの理由でこの方 法は使っていません。この場合には、時間を計測する手 25

5. UNIX MAGAZINE 1991年12月号

表 7 プリンタのテスト結果 0 ce e $ & 0 ce NTX-J MICROLINE セントロ MICROLINE RS232C / 19 , 200bps NeXT 空テスト 転送時間 直線 A 直線 B 英文字 ( 1 ) 英文字② 漢字 ( 1 ) 漢字② イメージ A イメージ B roff( 1 ) r 研 ( 2 ) 300dpi ( 1 ) 300dpi ② 400dpi( 1 ) 400dpi( 2 ) 4109 8.5 29.9 66.7 14.7 14.1 13.8 7.6 25.2 38.8 64.4 62.2 162.9 162.7 156.8 156.8 ( 27 ) ( 28 ) ( 90 ) ( 90 ) ( 220 ) ( 220 ) ( 210 ) ( 210 ) 30.0 47.3 13.0 8.7 0.3 20.9 16.4 40.6 96.3 35.5 27.5 258.3 213.7 ( 19 ) ( 292 ) ( 102 ) ( 102 ) ( 555 ) ( 543 ) 17.3 53.5 148.3 1.9 44.8 40.7 69.9 160.4 58.7 48.4 266.2 217.4 263.5 215.0 ( 16 ) ( 34 ) ( 91 ) ( 87 ) ( 287 ) ( 240 ) ( 283 ) ( 235 ) 31.4 53.4 147.9 9.1 44.7 40.0 69.7 57.1 47.5 270.5 210.9 273.2 216.0 160.0 ( 16 ) ( 152 ) ( 94 ) ( 90 ) ( 350 ) ( 310 ) ( 390 ) ( 350 ) 0.4 23.5 36.5 8.2 18.1 23.2 7.0 6.0 51.1 40.6 49.5 47.8 ( 25 ) ( 31 ) ( 94 ) ( 92 ) ( 208 ) ( 185 ) ( 211 ) ( 203 ) テスト結果および評価 ストでは速くなっています。しかし、英文字のテストで と、 CPU の処理速度や転送速度が速いせいか、大半のテ 一方、 NTX-J や MICROLINE などと比較してみる なのかもしれません。 ンも違うことを考えると、このくらいの差は生して当然 成はほかとかなり異なっており PostScript のバージョ より劣っているようです。しかし NeXT プリンタの構 能はほば同しなのですが、内部時間でくらべると NeXT 体の CPU は 68040 ( 25MHz 、 15Mips) です OCPU の性 NeXT の PostScript インタープリタが動いている本 4109 の CPU は 14.5Mips の RISC チップで、 4109 の評価 きましよう。 それでは、それぞれのプリンタについて結果を見てい とんど一致するからです。 った時間から内部時間を引くと、、空テストクの時間とほ ズが小さく、紙を出力することもないため、実際にかか の経過時間は省略してあります。これらのテストのサイ このなかで、、、直線′′、ヾ英文字〃、、、漢字ク、、、イメージ〃 内の数字は経過時間です。 を表します。また、結果の数値は左が内部時間で右括弧 です。テストの項目で、、 ( 1 ) 〃は 1 回目、、、 ( 2 ) 〃は 2 回目 テスト結果は表 7 のようになります。単位はすべて秒 28 はあまりよくない結果が出ています。このあたりは、 UNIX MAGAZINE 1991.12 的には短いのですが、 NTX-J がプリンタの電源投入直 源投入後に十数分待たされます。これにくらべれば時間 ほどよけいにかかるわけです。なお、 NTX-J では、電 だけは約 170 秒かかることが分かりました。 2 分 20 秒 した。その結果、通常は約 30 秒で出るものが、最初の 1 回 プールに入れてから、紙が出るまでの時間を計ってみま めの複雑な計算も必要ありません。このプログラムをス これなら転送にはほとんど時間がかからす、描画のた showpage ムを使います。 ような白紙を 1 枚出すだけの 10 バイトほどのプログラ かるので、この時間も計ってみました。これには、次の 力するときは、フォントの転送などによけいに時間がか 4109 はワークステーションのリプート後に最初に出 合に威力を発揮しているようです。 ではなく、プリンタ内の RAM に置く方式は、漢字の場 われます。しかし、すべてのフォントを比較的遅い HDD はメモリ上の限られた量のキャッシュしかないためと田 スク上に大きなキャッシュをもっているのに対し、 4109 ます。これは NTX-J や MICROLINE がハードディ ことから、キャッシュの効果はあまりないことが分かり 度目で NTX-J や MICROLINE ほど結果に差がない しれません。また、 2 回おこなうテストでの 1 度目と 2 Adobe 純正の PostScript でないことによる影響かも

6. UNIX MAGAZINE 1991年12月号

e $ & 0 ce 0 ce 図 3 4 田 9 の液晶バネル 図 4 M ℃ RO 凵 NE のスタートアップ・ページ OKI MICROLINE801 PS PostScript 漢字ページプリンタ ーれれ Font Ou 山 n ーⅳに 00 eold Helvetica-Oblique Helvetica-BoldObllque Ryumin LIght KLTM 0 国 hic BBBTU 部時間だと MICROLINE よりも速いくらいなのに、経 過時間は倍近くかかっています。すこしだけ弁護する と、 AppleTalk に接続してテストをしてないという点 で不公平なテストかもしれません。とはいえ、 CPU や RAM 容量の違いにもかかわらす英文字のテストではよ い結果を出しており、とくに roff のテストでは転送に要 した時間を考えるとほかのプリンタにほとんどひけをと ストを見ていくと、直線 B 、イメージ A 、イメージ B と っていません。 PostScript インタープリタの性能が高 いったテストがはかのプリンタよりも極端に悪いこと いことをうかがわせます。 NTX-J の欠点としては立ち が分かります。漢字テストも他機種の倍以上の時間がか 上がりの遅さが挙げられます。さきはども書きましたが、 かっています。 PostScript インタープリタの性能がや 起動時に十数分待たされるのはちょっと痛いですね。 や劣っているのでしようか。 このように性能ではいま一歩という感しですが、 しかし、総合テストである roff 、 X 300dpi 、 LaserWriter 、 LaserWriter Plus 、 400dpi といったテストを見ると、 4109 や NeXT に対 LaserWriter II NTX-J という歴史は、そのまま PostScript の歴史 してもそれほど差がありません。また、対抗機種である ともいえるくらいで、 PostScript の普及に貢献してき NTX-J と比較してみると、 RAM の標準容量が 2 倍 た製品です。その結果、多くのソフトウェアが Laser- で、 B4 まで使えるトレイが同時に 2 つ挿し込め、インタ Writer に対応しており、ほかのプリンタ・メーカーも細 ーフェイスも複数用意されており、解像度が 400dpi で かい仕様を LaserWriter に合わせることが多いようで あることを考えれば十分に魅力のある製品です。 す。さらに、ワークステーションと一緒に Macintosh を そのほかに気がついた点は、電源を入れたあとに最初 運用している環境ではもっとも信頼できる PostScript に出力されるスタートアップ・ページに書かれる情報が プリンタといえるでしよう。 詳しく、シリアル・インターフェイスの細かい設定など も確認できるのは便利です ( 図 4 ) 。また、それらの設定 MICROLINE の評価 も液品の表示を見ながらボタン操作で変更できるので、 ディップスイッチやソフトウェアからの設定にくらべて MICROLINE のテスト結果はセントロと RS232C ( 19 , 200baud) の 2 種類があります。この 2 つをくらべ 使いやすいと感しました。 ると、やはりセントロのほうがよい結果です。次に各テ T 爬、・宿 第 me Bold 第 me 、 4 回に T ⅲ、・ Bold に Courier C 興ⅱ・ Bo 旧 Courier•Oblvque CO i BO ( 施 liq リ 0 Tray Switch PaßrSizeTrayl = ENVI S い口円 g ぐ TimetoQuiet 第 8 ML801PS F 報加「 : 8 群、・「・れ面 0 に ROM Resident Fonts ー 3 P ー n は ng い fonts 行 om Ad& Hard 新、 k ReSident FontS 2 月引 . 引 S2 」叩第望ー国行«nAd ( 円一地、 n 内 Lan 紲 POS 朝ー第 ua om Ad& POSTSCRIPT 、 : 285 y 0 回、聞は 28 ーけ Software From AdObe S は町 d Memory. 8 MBytes 第 8 M 町 ーⅱと p 。“ S 朝ロゴは未国で登録されたアドビシステムズ社の商標です。 物 m 門と Hel ica はし i れ y 内 AG および関連会社の商標です。 RyumtnLightKL と 60山i(M団iⅧ BBB は株式会社モリサワの商標です。 30 UNIX MAGAZINE 1991.12

7. UNIX MAGAZINE 1991年12月号

otzce リストー %!PS—Adobe—2.0 %%Tit1e : test3 %%Creator : shikida /End { } def 72 600 moveto UsedTime StringBuffer cvs shov ( sec) show 72 660 moveto StringBuffer statusdict /printername get exec show 72 720 moveto TestName show /Times—Roman findfont 48 scalefont setfont % 結果をテスト名やプリンタ名と一緒に書く /UsedTime EndTime StartTime sub 1000 div def /EndTime usertime def % 終了時刻からかかった時間を求める /StartTime usertime def % 開始時刻を記憶する /Start { /StringBuffer 20 string def %%EndComments %%Pages: 1 1 %YDocumentFonts : Times—Roman %%CreationDate: 1991 ー 10 ー 1 % 紙を出力する showpage } def /Test { /TestName (test3) def /Times 1 def 1 1 Times { POP 30 30 moveto % テスト名 % 繰返し回数 } for } def % プ d 。 1 。 g % e : 1 1 Start Test 1d %%Trai1er 1 6 100 { % 文字のポイント数を変化させるための for ループ % その大きさの文字を使う dup /Times—Roman findfont exch scalefont setfont % 文字を書く g00 , 0 ( 0b0d0 、 jk100 円 , ・、 0 、 0 、 y = ) 0h00 空 00 、 0 , 0 % 書く場所をらす 0 exch moveto } for % 書いたものは出力せずに捨てる erasepage % Start と &ld の間で Test を呼び出す 続き呼出しでテスト内容のコードを挟んでいるだけなの で、転送にかかる時間も結果に含まれてしまいます。し かし、これらのテストはデータの量も大きいので、転送 時間も含めたはうが実情を反映しやすいと考え、この方 式で計測することにしました。 インタープリタの時計カ第 t 測する時間は、 PostScript インタープリタが、、稼動した〃時間を示しているので、 実際にかかった時間とは差があります。たとえば、紙を 送り出しているあいだなどはインタープリタが止まって いることがあり、このぶんの時間は測定結果には含まれ 26 ません。この時間からは純粋に、プリンタ内部の CPU の スピードやキャッシュの効果、インタープリタの最適度 などが分かります。 今回のべンチマークでは、インタープリタが計測した 内部の時間似下、内部時間と呼ぶ ) のほかに、印刷に実 際にかかった時間 ( 以下、経過時間と呼ぶ ) も測定しまし た。これは、テストするファイルを lpr コマンドでスプ ールに送り終ってから、結果を印刷した紙が出力される までの時間を人間が計るという原始的な方法を採用し ました。 UNIX MAGAZINE 1991.12

8. UNIX MAGAZINE 1991年12月号

HP SoftBench 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 83 85 86 / * Do—whiIe 100P * / while ( (b !=0)?(-bA-array [ 16 ] = 1 , 1 ) : (-bA-arrayC17]=1 , の ) ; / * Macro conditional * / if (c>5){-bA-array[18]=1 ;c=c*c; else -bA-arrayC19]=1 ; -bA—1abeI: —bA-dump() ; {struct —bA—probe-struct— char *sourcepath ; uns igned char *dataarray ; unsigned int numentries; unsigned char options [ 4 ] ; char sourcemodt ime [ 9 ] ; char mapsuffix; unsigned char insertprotocol; / * Branch Va1idator internal version * / —bA—e1pmas—20med—abb—omed_00046ph—rsu—2—csid— struct _bA_probe_struct— / * Map file extension * / {0xff , Oxff , 0X03 , 0X00 } , / * Date Of compilation (encoded) * / " / disc. 37.2/usr/hp64000/demo/bba/dem02/sampIe. c't / * P0inter tO Branch Array * / -bA-array , / * Number Of branches * / 20 , / * Branch Va1idator compile options * / Path tO this file * / 分に分岐分析をおこなう代入式を追加する。 ・関数 : 関数の最初の実行文として配列への代入式を追加 する。 16 行目は、関数が実行されると 0 番目の配列要素 に 1 が代入されることを示す。 ・ if 文 : すべての if 文の then 節に、最初の実行文とし て、配列への代入式を追加する。 ・ else 文 : すべての if 文の else 節に、最初の実行文とし て配列への代入式を追加する。オプションとして、 else 条件と配列への代入を else 文が書かれていなかった場 所に追加することもできる。 ・ while 文 : すべての while ループについて、ループ内の 最初の実行文として配列への代入式が追加される。 while ループがかならず実行される ( ループがスキップ されない ) か否かのテストに加えて、 do-while ループが 複数回実行されるか否かを調べるテストも実行できる。 44 ~ 45 行目および 55 ~ 57 行目は while ループの完全 なテストを示している。 44 ~ 45 行目の while ループで は、ループが場合によってスキップされることがあるか 否かを調べるために一時変数を利用している。 64 ・ for 文 : すべての for ループについて、ループ内の最初 の実行文として配列への代入文が追加される。 for ルー プ構文の 3 番目の文 ( 訳注 : f 。 r ( 式 1 : 式 2 ; 式 3 ) { } に おける式 3 のこと ) が実行されるか否かを調べるテスト をオプションで実行できる。 for ループ構文の 3 番目の 文は、ループに break または return が含まれている場 合には飛ひ越されることがある。 ・ case 文と default 文 : switch 文のなかの case 文また は default 文に続く最初の実行文として、配列への代入 文が追加される。指定された case 文または default 文 のコードが、上位の case 文を通り抜けてきたものとし て実行されるのか、あるいは指定された case の直接呼 出しとして実行されるのかを調べるためのテストを、オ プションで実行することもできる。さらに、 default 文を もたない case 文の場合には、 default 文を追加してその 実行を検出する ( 41 行目 ) 。 ・条件代入 : 配列への代入文を 2 つ追加して、条件代入文 の条件部が真か偽かを検出する機能を選択できる。 プリプロセッサの付加機能によって、ユーザーは特定の UNIX MAGAZINE 1991.12

9. UNIX MAGAZINE 1991年12月号

e $ & 0 ee 0 ce 後だけなのに対し、 4109 はワークステーションをリプー トするたびにかならす待たされるので、頻繁にワークス テーションをリプートする人は気になるかもしれません。 また、マニュアルでは禁止されていますが、ワークス テーションの稼動中にプリンタの電源をいったん切り、 再度入れたときにどのくらい待たされるかも計ってみま した。結果は約 280 秒でした。このように、プリンタを 再起動した場合には、再度ワークステーションから情報 を送ることになっていますが、 SCSI で接続されている のでやめたほうがよいでしよう。最悪の場合、ワークス テーションがハングアップしたり、ほかの SCSI デバイ スに悪影響をもたらすことも考えられます。ューザーズ ガイドによると、電源を落とす正しい手順は、システム をシャットダウンして ROM モニターまで落としてか ら、本体、プリンタ、ディスプレイの順で電源を切るこ とになっています。 今回テストした 4 機種のうち、 4109 だけがバナーを出 力する設定になっていました。これは printcap の if で 指定してあったものです。このバナーの文字のせいで、 ワークステーションからのダウンロードが必要なのは 、、最初の印刷時〃かヾ最初にフォントを使ったときクかの 確認ができませんでした。やはりバナーの出力を止めて 確認するべきでした。べンチマークの結果の経過時間に もバナー出力の時間が入っていますが、空テストの結果 を差し引いているので総合的な結果に影響はありませ ん。 総合的には、かなり印字が速く、 A3 まで出力可能とい う魅力的なプリンタです。接続できるワークステーショ ンが限られていることや、気軽に電源が切れないという 点、ほかの 3 機種にくらべて大きい ( 高さが約 2 倍 ) 点が ちょっとマイナスポイントですが、電源を切る必要はあ まりないでしようし、大きさについても A3 まで利用で きてトレイが 2 つ使えるという利点を考えれば、仕方が ないでしよう。 本物の PostScript ではなく互換性のあるソフトウェ アという点が気になるところですが、テストのために使 用した範囲内ではまったく問題なく普通の PostScript インタープリタとして利用できました。ただし、利用す るアプリケーションによっては、印字結果がはかの PostScript プリンタと明らかに異なる場合があります UNIX MAGAZINE 1991.12 ( 図 2 ) 。メーカーに問い合わせたところ、近くおこなわ れるシステム・ソフトウェアのバージョンアップで改善 される予定だそうです。なお、バージョンアップは保守 契約 ( 年間 98 , 000 円 ) を結んでいれは原則として無償で すが、テープ代程度の実費が必要になるとのことです。 プリンタ自体の性能とはあまり関係ありませんが、前 面の液品パネルに表示される情報がかなり不親切な点 が気になりました。ほとんどのプリンタは、データを受 け取っている最中や、内部で処理をおこなっている際に は、液品パネルや LED インジケータで「ショリチュウ」 などの表示をしてくれますが、 4109 では、用紙がなくな ったり、重大なエラーが発生したとき以外は、つねに「プ リントデキマス」のメッセージしか表示しません ( 次ペ ージ図 3 ) 。このため、スプールからデータを送り終った あと ( lpq で何も表示されない ) で、プリンタ内部での処 理に時間がかかるような場合、確実に動作しているのか どうかが分からす困りました。この点についても、次の バージョンで改善される予定だそうです。 NTX-J の評価 ます転送時間がとても長い点が気になります。これは インターフェイスが RS232C ( 9 , 600baud ) であること が原因です。これが影響して IbX 300dpi のテストは内 図 2 上は M ℃ RO 凵 NE 、下は 4 9 の出力。 同じアプリケーションを使用。 29

10. UNIX MAGAZINE 1991年12月号

価格は魅↓ 正統派の新星 今や日旧 C ワークステーションのスタンダード CPIJ ともいえる M ー PS 社の日 3000 プロセッサ。 その改良版である日 3000A を搭載した高性能ワークステーションの日 S3330 の登場で魂 高い性能、余裕の拡張性 MIPS 社自らかテサインした日 S3330 は、日旧 C プロセッサの性能を最大限に引き出し、演算性能 度は SPECma 「 k25.1 、 Dh 「 ystones M 旧 S41.5 。クラフィックス速度は 8 万 2D ヘクトル / 秒 を達成。拡張性も、 16MB から 128MB まで拡張可能なメモリ、最大 6.2GB のティスク容量と余裕 充分です。 しかもソフトも豊富 日 S3330 は卓越したコストノヾフォーマンスを誇るたけでなく、同じく M 旧 S 社の他のワークステーシ ョンである日 S3230 や日 C6280 、日 C6260 などの高性能サーバシリーズとのバイナリ互換を保持 していま魂このため、新登場ながら、これまでに M 旧 S 製品でサポートされている多様なソフトウ 工アをそのまま利用可能で魂 快適なネットワークも実現 ハイノヾフォーマンスのワークステーション日 S3330 と他に見られない強力なサーバのラインナップ。 しかも相互にノヾイナリ互換。これらをネットワーク環境で使用すれば、効果的な処理の分散か実現。 さまざまな分野で活躍しま魂 というわけで たとえは CAD たとえは VlSUALIZAT10N 三第当」 ′ EXT 田日・レー客・ ⅱ係 01 ー′ を日 Om ーいレæk - : 引 td4.- ⅲ . リ に・レ - 物 : td4.- .n. 物リ 試 4 ールし 01 : - 物 ま ! 0k01 を ! こ : 」新い第物、第物・ - ・ i を物に ・イ 1 定評ある M 旧 S 社のコンバイラを中核とし これまでグラフィックススーノヾーコンピュータ 科学技術計算の演算結果を容易に視覚 て、 RS3330 ではソフトウェアの開発に必 刊 TAN シリーズでのみ使用可能だった総 化できるツール AVS が RS3330 でサポー 要な様々な言語、画面レイアウト、テスト、 合 CAD/CAM/CAE システム KSWAD を トされます。グラフィックのためのプログラミ テパッ久データベース、さらにドキュメント RS3330 でもサポート。新たに登場する ングの必要がなく、しかも、これまでにない 管理まで、充実したソフトウェアがサポート 機構解析バッケージも含め豊富な機能 低コストで、新しい角度からのデータの分 されます。さらに高性能サーバとの連係で、 を手軽にご利用いただけますその他にも 析が実現。もちろん刊 TAN 等との連係でさ 作業の分散からネットワークでのファイル管 ECAD 、 MCAD とも数多くのバッケージが らに高度な視覚化も可能。研究開発の効 理の効率化など、快適な開発環境を総合 すでにサポートされており、ニーズに合わせ 率アップにお役立て下さし、。 的に実現します。 てお選びいただけます。 標準構成価格 •mips RS3330 性能 / 仕様 R3000A (33MHz) CPU 3,280,000 円 SPECmark 25.1 R3010A (33MHz) FPU Dhrystones MIPS 41.5 キャッシュ 32KB (inst) /32KB (data) く消費税含ます > LINPACK DP 4.6MFLOPS メモリ 16MB ~ 128MB グラフィクス 8 万 2D べクトル / 秒 内蔵最大 600MB ( 拡張最大 6.2GB ) ディスク メモリ 16MB ()I lperf 10pixel) ディスプレイ カラー 16 / 19 インチ 1280X 1024 ティスク 400MB モノクロ 17 インチ 1152X900 16 インチカラーディスプレイ R lSC/os OS OS 、ウインドウメティアー式 クボタコンピュータ株式会社 〒 160 東京都新宿区新宿 2 ー 8 ー 8 容 03 ( 3225 ) 0741 KUBOTACOMRJTERINC