Index: [Article Count Order] [Thread]

Date:  Fri, 10 May 2002 08:07:35 +0900 (JST)
From:  YAMAZAKI Susumu <********@**.******.**.**>
Subject:  [oosquare-ml:02672] Re: 設計情報を用いた最適化 (Re:  はじめまして)
To:  ***********@***.***.*******.**.**
Message-Id:  <********.******.********.********@**.******.**.**>
In-Reply-To:  <********.******.*********.*******@**.**.***.***>
References:  <********.******.********.*******@**.**.***.***>	<***************.********@**.******.**.**>	<********.******.*********.*******@**.**.***.***>
X-Mail-Count: 02672

山崎@東工大です。タイトル変えました。

From: IKEDA Kenjiroh <*******@**.**.***.***>
Subject: [oosquare-ml:02667] Re: はじめまして
Date: Fri, 10 May 2002 06:46:37 +0900 (JST)

> > 本業は厳密に言うとオブジェクト指向「言語の最適化」なんですが、最適化を
> > するときに上流行程(という言い方は古いのかな?)の情報を使うと効果的なの
> …中略…
> > 行きません。それを例えば開発者が「この参照先は木構造になっているよ」と
> > いうような設計情報を与えることで、この参照をたどる方法を最適化できたり
> > するのではないか、というようなアイデアです。
> 
>   池田の頭には難しすぎてすぐに理解できませんでした(今も正しく理解して
> ないかも… ^_^;;)が、面白そうなテーマですね。

多分、僕の説明がわかりにくいのが問題だと思います。もう少し具体例が分か
りやすいといいのですが、、、

もともとのアイデアは、デザインパターンを使って組み立てられたプログラム
を最適化したい、というものでした。パターンを使うと、プログラムの文面上
は動的束縛が増えて最適化しにくいという問題がある一方、パターンを使うこ
とでプログラムの構造が人間だけでなく処理系にも分かりやすい形になるので
はないかと考えました。つまり、プログラムの構造に対するパターン化された
最適化というのがあるのではないかと考えたわけです。このアイデアは僕がも
たもたしているうちに他の人にやられてしまったのですが、まだやれることは
あると考えています。
#執着しているだけという説もあり^^;

>   ひとつ疑問に思うのは、設計情報を用いて言語レベルの最適化をするには、
> その設計情報として表現されているものがどのような実装(ソースコード)にマッ
> ピングされるのかが分かってないと駄目ではないかと思うのですが、そのマッ
> ピングが自明なものは結構少ないのではないでしょうか?
(中略)
>   マッピングが自明でないものに関しては、マッピングに関する情報も与えた
> りするのでしょうか?

実用化する上での一つの問題点は、まさに池田さんがおっしゃることです。一
つの設計に対して実装の方法が複数あることを処理系が認識する必要があると
いう問題ですね。この問題に対しては、おっしゃる通りマッピングに関する情
報も与えることで対処します。

ただ、マッピング情報を与えることがプログラマにとって負担にならないよう
な形にしようと思っています。今シナリオとして考えているのは、デザインパ
ターン指向の統合開発環境(IDE)によるものです。プログラマが使いたいパター
ンを指定すると、IDE がいくつかの実装パターンをプログラマに提示してプロ
グラマに選択させます。そのときの情報を IDE が記録しておいて、最適化コ
ンパイラにマッピング情報を与えます。もしプログラマが与えられた実装から
多少変更しても、処理系が追随できるように出来ればいいなあと思っています。

実装パターンをプログラマが簡単な形で自由に追加できるといいのですが、そ
のあたりは思案中です。単にパターンを定義するだけでも難しいのに、さらに
それに対応した最適化まで記述させるとなると、難しすぎて誰も使ってくれな
いのではと危惧しています(苦笑)。この部分をいかに単純化し、かつ強力にす
るかが肝だと思っています。

> > もちろん、いずれは取り組もうと思っているテーマなので、その時にはよろし
> > くお願いします。
> 
>   期待しております。(別ネタのD論も)頑張ってください。

激励ありがとうございます。早くとりかかれるよう、頑張ります。

              山崎 進 --- ********@**.******.**.**
               東京工業大学数理計算科学専攻柴山研