[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 901- 1001- 2chのread.cgiへ]
Update time : 06/20 20:30 / Filesize : 239 KB / Number-of Response : 1002
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

Javaが遅いという奴は遅れたバブル世代じゃね? 2



1 名前:仕様書無しさん mailto:sage [2006/03/29(水) 00:37:17 ]
さ、語れ。Javaよりも遅い脳みそを持つ人々について

C/C++の栄光の時代は終わった。
C/C++を使った仕事が少なくなってきたことによる
愚痴と新技術に対する詭弁で溢れた口八丁C言語信者の行く末は?

C言語信者の年齢層は30代〜50代。
バブル世代から新人類世代にまで広がる
まさにオッサン世代ですね。だからガーベッジコレクタの
動作原理も知らない化石的思考といわれる。
今C言語はJVMとOS作るだけで十分だ。それ以外のことは
いずれ、すべてJavaに委譲すべきだ。

前スレ
Javaは遅いという奴は遅れたバブル世代じゃね?
pc8.2ch.net/test/read.cgi/prog/1136434011/

Javaよりも重たい(思考回路が遅い)バブル世代以降が立てたスレ
Javaって重くね? その2
pc8.2ch.net/test/read.cgi/prog/1136359572/


関連スレ

先があるのはC++とJavaのどっち?
pc8.2ch.net/test/read.cgi/prog/1132157362/

388 名前:仕様書無しさん mailto:sage [2006/05/07(日) 17:43:10 ]
Collection使うと頻繁にヒープを確保しにいってると思うよ
まぁJAKARTAのcommonsにあるやつは標準よりも速いけど
それはやっぱり糞JAVA文化内でのどんぐりの背比べだな

389 名前:仕様書無しさん [2006/05/07(日) 17:52:05 ]
グラマクン意気消沈気味?

390 名前:仕様書無しさん [2006/05/08(月) 00:23:33 ]
>>386
LinkListとArrayListとの使い分けを間違えて
遅いというコードもあったりするが、
具体的にそのベンチマークのデータを見せてくれないかな。

391 名前:仕様書無しさん mailto:sage [2006/05/08(月) 00:24:57 ]
あと、ハッシュを使うとき、
ただHashMapやLinkedHashMapを使った場合とTreeMap, SortedMap
を使った場合とでは速度がそれぞれ異なる。

その辺りも理解しているだろうか。
挿入、削除は速いがアクセスは遅い、
またはその逆になっているクラスもあるということだ。

392 名前:仕様書無しさん mailto:sage [2006/05/08(月) 00:49:42 ]
>>390
ほれw


Collections.sort(list);

393 名前:仕様書無しさん [2006/05/08(月) 01:08:06 ]
安定性
VB>>>Java
速度
VB>>>>>>>>>>>>>Java
作りやすさ
VB>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>じゃv

394 名前:仕様書無しさん mailto:sage [2006/05/08(月) 01:09:45 ]
>>393
1つ忘れてるぞ
給料(年俸)
JAVA >>>>> VB

それでいいのかVBさん?

395 名前:仕様書無しさん mailto:sage [2006/05/08(月) 04:03:37 ]
>>392
Collections.sortのソースを追いかけてみたが、一旦全体を配列にコピーした後、
Arrays.sortを使った後、リストに戻してるのな。
しかもArrays.sortの中でmergesortを使うためにまた全体をコピーしてるしw
こりゃ遅いわ。
Javaコンパイラは速いかも知らんが、その前のJavaのソースが糞だわwww

396 名前:仕様書無しさん [2006/05/08(月) 15:54:56 ]
糞Javaソースをデコンパイル後解析してまで叩くのが最近の主流ですか?



397 名前:仕様書無しさん mailto:sage [2006/05/09(火) 01:24:09 ]
Javaのバイトコード解析って何使ってやってる?
俺、バイトコードの仕様見つつ覚えながら脳内解析なんで
時間かかってしゃあない誰かいいツール教えて

398 名前:仕様書無しさん mailto:sage [2006/05/09(火) 03:12:59 ]
マージソートのせいで遅いというのもあるんじゃないのか。
これは速さを取るよりも安定なソートをやりたいってことだろ。
しかし、問題はやたらメモリ使ってるところだな。

399 名前:仕様書無しさん mailto:sage [2006/05/09(火) 12:07:07 ]
>>392
ベンチマークに使ったソースコードとセットでデータが欲しいんだが。

それにArrayListとLinkListとではソートにかかる時間も異なるぞ。
ソートでなくてもデータ量が多いときと少ないときでもアクセス、データ追加削除更新速度に差が出る。


挿入ソートを用いているTreeMapやTreeSetとも比較してくれ。
ただし挿入する時点でソート済みなので挿入速度と含めて比較してみてくれ。

400 名前:仕様書無しさん mailto:sage [2006/05/10(水) 00:36:40 ]
自分で試してみれば。

401 名前:仕様書無しさん mailto:sage [2006/05/10(水) 01:36:58 ]
ここは言い出しっぺの>>392に試させるのが
筋ってもんだが。

402 名前:仕様書無しさん mailto:sage [2006/05/10(水) 03:10:25 ]
クレクレ君乙。

403 名前:仕様書無しさん [2006/05/10(水) 04:09:14 ]
List<Integer> list = new ArrayList<Integer>();
Random r = new Random();
final int N = 1000000;
for (int i = 0; i < N; ++i) {
list.add(r.nextInt());
}
long start = System.currentTimeMillis();

Collections.sort(list);

long end = System.currentTimeMillis();
System.out.println("Java : " + (end - start) + "ms");

Java : 1532ms
C++ : 120ms

404 名前:仕様書無しさん mailto:sage [2006/05/10(水) 08:04:14 ]
マジか。
マージソートとかコピーしてるという次元の違いじゃない気がするぞ。

405 名前:仕様書無しさん [2006/05/10(水) 11:39:40 ]
>>397 デコンパイルツール
ttp://pc8.2ch.net/test/read.cgi/prog/1146146874/285-290

406 名前:仕様書無しさん mailto:sage [2006/05/10(水) 13:17:39 ]
Jakarta Commons Collectionsにsort関連のメソッド
があったと思うが



407 名前:仕様書無しさん [2006/05/10(水) 13:20:25 ]
Javaの場合、sort関数なんて使わずに
データを追加する時点でソートするTreeMap, TreeSetタイプを
使うことを推奨しているんじゃないのか?
データを作る時点ですでにソート済みにしておけば
わざわざsortなんてする必要無いからな

408 名前:仕様書無しさん mailto:sage [2006/05/10(水) 13:24:05 ]
データの並びやデータ量によってはクイックソートが必ずしも速いとは
限らないのでArrays.sort()やTreeMapが必ずしも遅いとは言い切れぬ

409 名前:仕様書無しさん mailto:sage [2006/05/10(水) 14:18:07 ]
それにしても10倍遅いってのはどうなの。

410 名前:仕様書無しさん mailto:sage [2006/05/10(水) 16:06:56 ]
遅いという結果を示すソースコードと測定方法を見せてくれないことには
どうにも検討しようがないのだが。

411 名前:仕様書無しさん [2006/05/10(水) 16:08:22 ]
>>409
いろんな意味で設計がまちがってるんだろね
まあ、競輪場でMTBとロードの戦いを見ても勝負は見えてると思うぞ

412 名前:仕様書無しさん mailto:sage [2006/05/10(水) 17:55:32 ]
>>410 
>>403を見ろ。

413 名前:仕様書無しさん [2006/05/10(水) 18:17:19 ]
コードレビューが始まったと聞いて駆けつけました

414 名前:仕様書無しさん mailto:sage [2006/05/10(水) 18:46:05 ]
>>412
C++のソースコードが無いぞ

415 名前:仕様書無しさん mailto:sage [2006/05/10(水) 18:50:49 ]
vector<int> v;
clock_t t;

for (int i = 0; i < N; ++i) {
v.push_back(rand());
}

t = clock();
stable_sort(v.begin(), v.end());
cout << "C++ :" << (double) (clock() - t) * 1000 / CLOCKS_PER_SEC << "ms\n";

416 名前:仕様書無しさん [2006/05/10(水) 18:54:30 ]
うむ。C++のソースはカコイイな。糞Javaとは違う!!



417 名前:仕様書無しさん mailto:sage [2006/05/10(水) 18:56:14 ]
C++最強

418 名前:仕様書無しさん [2006/05/10(水) 18:56:42 ]
ただソートしてるだけでそんなに差が出るものなのかな。
何行にもわたる計算をしてるわけじゃなくて、一行で専用関数に処理を任せる
場合だろ。原理的に、この場合に遅くなるはずはないんだが。
ソートだけ特別遅いんじゃないの?

419 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:00:02 ]
>>416
clock_t ← これを見た時点で恰好悪いと思ったなあ
このアンダースコア(_) 使わなくてもいいのにダサいぜ。

420 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:00:14 ]
>>418
JavaのCollections.sortは、ソートの本体(Arrays.sort)の前後に、配列に入れたり戻したりする処理を行っていて、
そこがJavaで書かれている。

421 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:01:22 ]
>>419
push_back()とかもダサいな。

422 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:01:37 ]
>>415
Nのサイズがいくつなのか
Nのサイズ毎に速度を計算してみてくれ。
Nのサイズ、というかデータのを変えると速度差に
変化が現れるはずだ。

できれば横軸にサイズ、縦軸に速度をとった
グラフとしてデータが欲しいところだな。

423 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:03:29 ]
いや、Arrays.sort自体も全部Javaで書かれてるな。
やっぱりJavaが遅いんだろ。

424 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:04:01 ]
古いサイトだが、
JavaとC++とで配列やリストの速度比較してるサイトがあったが
配列長、リスト長が長ければ長いほどJavaとC++との速度差は
縮まっていくようになっていたね。
とくに1万件を越えたあたりでJavaとC++とでは速度差が気にならなく
なるほどどころか、Javaのほうが速くなっていたような。二つの色違いの
折れ線グラフが1万件のところで交差していたような記憶がある。
しかし良く覚えていない。

425 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:04:44 ]
>>422 >>424
Nの値については、>>403を見ろ。

426 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:05:59 ]
>>423
だからデータサイズを出せといいたい。
それから測定に使用したマシンんの
メモリ容量、Java起動オプション、Javaのバージョン、
コンパイルされたファイルのバージョン、JVMのバージョン、
マシンのスペックも示せ。

でないとどれだけJavaの速度差が実際の仕事でネックになるのか
よくわからん。



427 名前:仕様書無しさん [2006/05/10(水) 19:06:31 ]
>>419
アンダースコアをダサいと言う Java厨
カコイイと言うC/C++厨
相容れない世界なのであった

それは
【Java厨はブラインドタッチが出来ないから】

428 名前:仕様書無しさん [2006/05/10(水) 19:07:20 ]
>>426
そこまで枝番しらべなきゃならないのかw

429 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:09:15 ]
>>425
本当にC++のNと同じサイズになっていればの話だが。
ついでだが、各々のコンパイラは何を使ったのか説明が足りないな。

430 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:10:10 ]
>>427
C言語厨はいつもこういう根拠のない発言しかできない。
Javaでも定数を宣言するときにアンダースコアを使うんだが。
C言語しかできない馬鹿は死んでいいよ

431 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:10:28 ]
>>428
1.3と1.5では速度が劇的に違うからな

432 名前:仕様書無しさん [2006/05/10(水) 19:10:52 ]
なぜか必死なJava厨w

433 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:11:39 ]
>>423
-serverオプション、ヒープメモリサイズの設定などによっても
Javaのパフォーマンスは変わる。

そもそもsort()なんて滅多に使わない。
TreeSetやTreeMapをよく使う俺には一切必要ない。
データを追加する時点でソートされているからな

434 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:11:56 ]
自分が必死だと気づいていないC言語厨w

435 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:12:42 ]
Collections,sort()は一度も使ったことがないね

436 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:12:54 ]
>>424
Javaの方が速くなってたそのサイトってもうないの〜?
シンジラレマセーン



437 名前:仕様書無しさん [2006/05/10(水) 19:13:12 ]

getJavatyuUnkonaBakadayon();
なんて長々アンダースコアがつかないでくどくどしいより良い。

438 名前:仕様書無しさん [2006/05/10(水) 19:13:36 ]
-serverオプションやヒープメモリサイズを変えた場合の
ベンチやマシンのスペックをださないC厨は事実を必死に誤魔化
してんじゃねえの?

439 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:14:08 ]
>>436
情報が古いから今だったらもっとJavaは速くなってるからねえ。
どこかの大学の研究室のサイトにあるらしい

440 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:14:57 ]
>>437
その長さはネーミングに問題有りだな。
クラス設計からやりなおしたほうがいい。
クラスの親子関係、メソッド引数などを考慮すると
ネーミングを短くする術が見つかる

441 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:15:55 ]
とりあえずC厨は古いからこっちのスレでも読んで
自分が今置かれている立場を理解汁


【あちら側】ウェブ進化論【Web2.0】
pc8.2ch.net/test/read.cgi/prog/1147237602/

442 名前:仕様書無しさん [2006/05/10(水) 19:17:49 ]
Axisは結構長いの使ってるけどねえw
ttp://ws.apache.org/axis/java/apiDocs/org/apache/axis/security/simple/SimpleSecurityProvider.html


443 名前:仕様書無しさん [2006/05/10(水) 19:19:05 ]
とりあえずJava厨はJavaやめたほうがいいぞw

444 名前:仕様書無しさん [2006/05/10(水) 19:21:05 ]
ほれっ長いぞ
ttp://ws.apache.org/axis/java/apiDocs/org/apache/axis/transport/http/AbstractQueryStringHandler.html

445 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:21:29 ]
Javaは嫌いだけど使わざるおえないんだよぉ〜?

446 名前:仕様書無しさん [2006/05/10(水) 19:24:49 ]
>>415のマシンのスペック情報マダー?



447 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:25:42 ]
>>442
冗長性もとくになく短いだろw
文字区切りも少ないしな

448 名前:仕様書無しさん [2006/05/10(水) 19:25:58 ]
getJavatyuUnkonaBakadayon
configureResponseFromAxisFault
漏れのサンプルのが短かったよ>レスくれJava厨

449 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:26:25 ]
>>415のマシンは500MHz程度と見た
そりゃ遅くなる罠

450 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:27:43 ]
>>448
前者は意味が通じないし冗長だし
後者のほうが意味がわかる。
getCgenngochu(Attribute.UnkodaBakadayon)
のほうがいいな

451 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:28:35 ]
そもそもBakadayonというネーミングがC言語厨のセンスの無さを
伺わせる。

452 名前:仕様書無しさん mailto:sage [2006/05/10(水) 19:29:20 ]
しかもC言語厨はUnkodaなんてネーミング。
小学生かお前はw

453 名前:仕様書無しさん [2006/05/10(水) 19:30:38 ]
長さで負けたので悔しくてネーミングを叩きだしましたw

454 名前:仕様書無しさん [2006/05/10(水) 19:32:43 ]
喪前の設計センスはいいなw
apacheに言ってやれよw
クラス設計を見直したほうが良いってさw

455 名前:仕様書無しさん mailto:sage [2006/05/10(水) 20:42:03 ]
>>431
お前らさ、>>403のコードが1.5だということすらわからないの?w

-serverオプションとかさあ、つけて自分のマシンで試してみりゃいいじゃねぇか
ソースも出てることだし。

まあ、Javaは遅いよ。何が原因かは知らんが。

456 名前:仕様書無しさん mailto:sage [2006/05/10(水) 20:48:30 ]
> 長さで負けたので悔しくてネーミングを叩きだしましたw

またC言語厨の言い訳だw
名前のセンスのもんだいなんだがw



457 名前:仕様書無しさん mailto:sage [2006/05/10(水) 20:49:29 ]
>>455
10倍速くしたというのが信用できないから
まずは言い出しっぺのあんたからスペックを提示してみたほうが
いいんじゃないか

458 名前:仕様書無しさん mailto:sage [2006/05/10(水) 20:50:32 ]
別に信用しなくてもいいんじゃね?そんなに信用できないなら実行してみれば?w

459 名前:仕様書無しさん mailto:sage [2006/05/10(水) 20:57:45 ]
まあでもネタみたいに見える。俺はめんどくさいからやらないけど。誰かが追試してくれればいい。

460 名前:仕様書無しさん [2006/05/10(水) 21:05:14 ]
クレクレ君に真面目に付き合うとこうなるという例。

461 名前:仕様書無しさん [2006/05/10(水) 21:15:37 ]
面白いことを発見した。
コードを以下のように書き換えたら
List<Integer> list = new ArrayList<Integer>();
Set<Integer> set = new TreeSet<Integer>(list);
Random r = new Random();
final int N = 1000000;
for (int i = 0; i < N; ++i) {
set.add(r.nextInt());
}
long start = System.currentTimeMillis();
Collections.sort(list);
long end = System.currentTimeMillis();
System.out.println("Java : " + (end - start) + "ms"); //$NON-NLS-1$ //$NON-NLS-2$


こういう結果になった。

Java : 0ms

462 名前:仕様書無しさん [2006/05/10(水) 21:18:06 ]
Javaのほうが速くなってるのはどうして?

463 名前:仕様書無しさん [2006/05/10(水) 21:21:02 ]
それに何の意味があるの?

464 名前:仕様書無しさん [2006/05/10(水) 21:21:52 ]
>>462
Set.addのときにソートしてるから。
くだらないから無視しときなさい。

465 名前:仕様書無しさん [2006/05/10(水) 21:31:31 ]
set.addもうちの環境だとC++と比べて2倍ぐらい遅いなあ。
やっぱりJavaは遅いのかな。遜色ないと聞いていたのに。

466 名前:仕様書無しさん mailto:sage [2006/05/10(水) 21:42:26 ]
おそらく、C++のSTLとJavaのコレクションを比べるから2〜10倍遅くなってしまうだけで、
よく言われる遜色ないというのは、細かいルーチンを自分で手で書いて
比べれば遜色ないという意味だろう。
おそらくSTLのチューンが進んでいるのではないだろうか。



467 名前:仕様書無しさん mailto:sage [2006/05/10(水) 22:21:38 ]
>>464
つまり、Set.addでソートしておけば速いってことじゃないのかな?

468 名前:仕様書無しさん mailto:sage [2006/05/10(水) 22:21:52 ]
>>465
ソースコード公開きぼん

469 名前:仕様書無しさん mailto:sage [2006/05/10(水) 22:22:46 ]
>>466
2〜10倍になるちゃんとしたデータが欲しい。
sortは差はかなりでているけど
ほかのコレクション系についてはどうだろうか。

470 名前:仕様書無しさん mailto:sage [2006/05/10(水) 22:43:31 ]
>>467
それはJavaとC++を比べてどうこういうのとは問題が違うだろう。

471 名前:仕様書無しさん [2006/05/10(水) 23:04:45 ]
コードレビューや技術的な話になるとすっかりなりを潜めるグラマクン

472 名前:仕様書無しさん [2006/05/10(水) 23:08:28 ]
フンフン
JAVA厨藁

473 名前:仕様書無しさん [2006/05/10(水) 23:14:11 ]
つかVBは蚊帳の外

474 名前:仕様書無しさん [2006/05/10(水) 23:14:56 ]
コードレビューはeclipseがやってくれるから大丈夫、
変数が変でもあとでリファクタリングすれば大丈夫

て思ってるんじゃね?

475 名前:仕様書無しさん mailto:sage [2006/05/11(木) 00:28:15 ]
そんなVB厨やC言語厨みたいな甘い思考じゃあるまいし

476 名前:仕様書無しさん mailto:sage [2006/05/11(木) 00:29:04 ]
データ無いのか。
TreeSet使った場合のC++版のソースコードは見せないのか。
つまりJavaでやってもC++でやっても大差ないってことかな



477 名前:仕様書無しさん mailto:sage [2006/05/11(木) 02:46:37 ]
その程度のこと自分で書けよw
何も出来ない奴は情報を得る資格もないし、これから苦労するぞ。

478 名前:仕様書無しさん [2006/05/11(木) 08:11:29 ]
書けないからクレクレしてパクリたいのがJava厨ですから

479 名前:仕様書無しさん mailto:sage [2006/05/11(木) 13:32:58 ]
どうせC厨も何もかけないだろ
オブジェクト指向も何もわかってないんだからな

480 名前:仕様書無しさん [2006/05/11(木) 16:16:09 ]
で、単純にソートしたのが早いのは分かったけどその後はどうするの?
項目のinsertしたあと毎回ソートするの?

481 名前:仕様書無しさん mailto:sage [2006/05/11(木) 16:18:25 ]
クタたんは解体されます。

482 名前:仕様書無しさん mailto:sage [2006/05/11(木) 21:30:10 ]
んだな。insertするたびにsortするのはアホらしいな。
だからJava標準関数には凝ったsortのアルゴリズムが
用意されていないんだろうな。

だから挿入ソートで挿入した時点で即座に
順序が決まるSortedSet, SortedMapのサブクラスのコレクションクラス
であるTreeSetやTreeMapなどのほうが
使い勝手がいいな

483 名前:仕様書無しさん mailto:sage [2006/05/11(木) 21:33:25 ]
だから何?そんなこと言ってみたってJavaが遅いことには変わりないんだけど。

484 名前:仕様書無しさん mailto:sage [2006/05/11(木) 21:38:47 ]
sortの使い道がわかってないな。
insertするたびにsortする馬鹿なんか、もともとどこにもいねぇよw
それでもsortって関数は存在し、使われてるわけだ。
人間一人にsortの使い道を全て想像できるわけないだろ。

485 名前:仕様書無しさん mailto:sage [2006/05/11(木) 22:36:29 ]
>>483
それこそだから何?
遅いからどうしたって話なんだけど。
仕事もたくさんあるしC++にリプレースする必要が
あるほど遅くは無いんだけど。

486 名前:仕様書無しさん mailto:sage [2006/05/11(木) 22:37:10 ]
>>484
> sortの使い道がわかってないな。
> insertするたびにsortする馬鹿なんか、もともとどこにもいねぇよw

sortに拘るC言語厨がいるから突っ込んでやったんだろ



487 名前:仕様書無しさん mailto:sage [2006/05/11(木) 22:39:14 ]
>>486
だから、それがめちゃくちゃ的外れな突込みだがな。

488 名前:仕様書無しさん mailto:sage [2006/05/11(木) 22:40:30 ]
>>485
スレタイ見てみろ。遅さを議論するスレです。
sortの使い方を議論するスレでも仕事にどちらが使えるかを
議論するスレでもない。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<239KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef