JAVAのジェネリクスでデータ構造とアルゴリズム
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/05/07(月) 20:35:08マイライブラリを作りたくなりますね。
0002デフォルトの名無しさん
2007/05/07(月) 22:00:510003デフォルトの名無しさん
2007/05/08(火) 01:54:080004デフォルトの名無しさん
2007/05/08(火) 05:14:300005デフォルトの名無しさん
2007/05/08(火) 06:50:35-- C++ --
vector<int> v, v2;
for(int i = 0; i < 2000000; ++i){
v.push_back(i);
}
for(int i = 0; i < 2000000; ++i){
v2.push_back(v[i]);
}
-- C# -- C++より2倍くらい遅い
ArrayList v = new ArrayList(), v2 = new ArrayList();
for(int i = 0; i < 2000000; ++i){
v.Add(i);
}
for(int i = 0; i < 2000000; ++i){
v2.Add(v[i]);
}
-- Java -- C++より5倍くらい遅い
List<Integer> v = new ArrayList(), v2 = new ArrayList();
for(int i = 0; i < 2000000; ++i){
v.add(i);
}
for(int i = 0; i < 2000000; ++i){
v2.add(v.get(i));
}
0006デフォルトの名無しさん
2007/05/08(火) 07:22:383GのCPUと1Gのメモリなら、実際何秒の差がでるよ?
2倍とか5倍とかアホくせーわ
0007デフォルトの名無しさん
2007/05/08(火) 08:07:492倍/5倍を誤差と言えるぬるい環境でコーディングしてる奴は反応しなくていいよ。
0008デフォルトの名無しさん
2007/05/08(火) 08:37:54まだというかもうこれ以上Javaは速くならんよ
>>C++より5倍くらい遅い
そのコードでほんとに5倍も差が出るか?
0009デフォルトの名無しさん
2007/05/08(火) 09:10:410010デフォルトの名無しさん
2007/05/08(火) 09:27:41実用的なコードで比較するべきだと思うのだが
0011デフォルトの名無しさん
2007/05/08(火) 09:45:53どう考えてもC++と比べたら遅そう。
0012デフォルトの名無しさん
2007/05/08(火) 10:41:59困ってないんでしょ?
x2やx5で困ってる奴だけ来ればいいよ。
0013デフォルトの名無しさん
2007/05/08(火) 11:56:56調べたけど、最近はUseOnStackReplacementって不要?
JDK6.0u1 Windows 32bit版
そのまま: 1.7秒
Listのサイズ指定: 1秒
Listサイズ指定+VMのオプション指定: 0.65秒
VMオプションは-server -XX:NewRatio=2 -XX:+DoEscapeAnalysis
どれにUseOnStackReplacementつけても、
殆ど効果が分からなかった。
まあgenericsとなんの関係もないけど。
001413
2007/05/08(火) 11:57:44-XX:+UseCompilerSafepointsも一緒に指定してます。
0015デフォルトの名無しさん
2007/05/08(火) 13:16:02まあ、こういうのが積み上がって、最終的にJavaアプリはもっさりになるんだろうね。
0016デフォルトの名無しさん
2007/05/08(火) 16:51:590017デフォルトの名無しさん
2007/05/08(火) 21:49:330018デフォルトの名無しさん
2007/05/08(火) 22:07:26っていうのが最近の傾向だわな
0019デフォルトの名無しさん
2007/05/08(火) 22:35:56たいへんだねぇ、頭悪いと
0020デフォルトの名無しさん
2007/05/08(火) 23:45:170021デフォルトの名無しさん
2007/05/09(水) 00:52:34その調子だ
0022デフォルトの名無しさん
2007/05/09(水) 01:13:59データ構造とアルゴリズムはどうした?
0023デフォルトの名無しさん
2007/05/09(水) 07:31:23もっともだと思う。住み分けはC++とRubyくらいで、あとはいらないな。
0024デフォルトの名無しさん
2007/05/09(水) 09:56:33Genericsの話題に戻すと
----対応前
List list = new ArrayList();
list.add(new Hoge());
Hoge h = (Hoge)list.get(i);
----対応後
List<Hoge> list = new ArrayList<Hoge>();
list.add(new Hoge());
Hoge h = list.get(i);
----
だろ?キャストしなくて良いだけじゃん?
やたらコーディング量だけ増えて面倒なのはtemplateと変わらんし
汎用性無くなる分templateに負けてる
0025デフォルトの名無しさん
2007/05/09(水) 10:05:120026デフォルトの名無しさん
2007/05/09(水) 13:11:47C++のtemplateは強力すぎるのよ。
他人が全く読めないコードが作れてしまうくらいにね。
強力すぎるから使い方に お作法 が必要になる。
まず、プロジェクトの作法を決めないといけない。 といっても、まあ STL以外にtemplate使わないでね
で終わる話だけどさ。
0027デフォルトの名無しさん
2007/05/09(水) 13:52:04現実的にはそうじゃない?
0028デフォルトの名無しさん
2007/05/09(水) 21:09:380029デフォルトの名無しさん
2007/05/09(水) 23:11:010030デフォルトの名無しさん
2007/05/09(水) 23:17:060031デフォルトの名無しさん
2007/05/09(水) 23:35:56なんでまたSTLの悪夢を見なきゃならんのかと・・・w
0032デフォルトの名無しさん
2007/05/09(水) 23:41:19そもそもモデルがJavaのコレクションフレームワークよりずっと
強力にできてると思うけどなあ。
0033デフォルトの名無しさん
2007/05/10(木) 00:01:150034デフォルトの名無しさん
2007/05/10(木) 01:24:41コーディング量増えるような仕組みを作ったのは
その方が工数増えて客からぼったくれるからだよ
0035デフォルトの名無しさん
2007/05/10(木) 08:53:220036デフォルトの名無しさん
2007/05/10(木) 11:04:30Genericもcovariantとして扱えるようにして欲しい。
0037デフォルトの名無しさん
2007/05/10(木) 20:41:390038デフォルトの名無しさん
2007/05/11(金) 21:10:040039デフォルトの名無しさん
2007/05/13(日) 17:26:43なんでC#はジェネリック使ってないんだ?
ジェネリック使ってないせいでボックス化が生じるから、速度落ちるのは当然。
0040デフォルトの名無しさん
2007/05/13(日) 20:04:32.NET Framework 2.0 以前のC#は、ジェネリック使えないのよ
0041デフォルトの名無しさん
2007/05/14(月) 02:29:42オレは勇者として最速のコードを目指す!
0042デフォルトの名無しさん
2007/05/14(月) 02:34:46最速を目指すなら武闘家になれ
0043デフォルトの名無しさん
2007/05/14(月) 03:17:410044デフォルトの名無しさん
2007/05/14(月) 20:46:480045デフォルトの名無しさん
2007/05/14(月) 21:13:30ならなんで.NET Framework 2.0を使わない?
0046デフォルトの名無しさん
2007/05/16(水) 15:27:14点数を入力して、平均点を出力するフローを答えなさい[入力した点数が0より小さい時終了する]
問題2:合計
1+(1+2)+(1+2+3)+・・・(1+2+・・・+10)を計算し、計算結果を出力するフローを答えなさい
の2問のフローチャートがどうしてもわからないので何方か解る方がいましたら教えてください
0047デフォルトの名無しさん
2007/05/16(水) 18:00:28ジェネリック使ったら大幅に速くなるはず
0048デフォルトの名無しさん
2007/05/18(金) 00:52:12ほとんど全てautoboxingに伴うメモリ確保の時間だから,
積み上がってもっさりにはならんだろ.
CPU 1.86Gでも0.66秒だったし.
しかし,スコア見て泣けてくるけど,
こういうのってArrayListを外に出さなければ
エスケープ解析で速くなったりするの?
0049デフォルトの名無しさん
2007/05/20(日) 00:14:30ループ内でAutoboxingが働かないよう書き換えて、
ベンチマークで使っているループを丸ごと1つのメソッドに入れて、
そのメソッドを10回ほど実行させて、
で、あらためてメソッドを1回実行する時間を計るとだいぶ違うんじゃないかな。実行時には-server 付けて。
0050デフォルトの名無しさん
2007/05/20(日) 00:28:19ジェネリクスでデータとアルゴリズムだろ今スレは――――!!!!
0051デフォルトの名無しさん
2007/06/12(火) 15:30:33ListArrayInteger / ListArrayLong / ListArrayDouble
参照型は今のジェネリックで問題はないだろう。
0052デフォルトの名無しさん
2007/06/12(火) 19:39:150053デフォルトの名無しさん
2007/06/15(金) 04:14:080054デフォルトの名無しさん
2007/06/15(金) 04:15:08逆写像ソートの解説してもらえないだろうか?
何か配列使った実装だとこんがらがって
0055デフォルトの名無しさん
2007/06/17(日) 21:11:530056デフォルトの名無しさん
2007/08/18(土) 22:24:530057デフォルトの名無しさん
2007/11/07(水) 23:36:160058デフォルトの名無しさん
2008/02/08(金) 21:20:45Genericsか
0059デフォルトの名無しさん
2008/02/11(月) 12:49:24実装がシンプルなだけ
0060デフォルトの名無しさん
2008/02/11(月) 13:59:030061デフォルトの名無しさん
2008/02/11(月) 16:29:160062デフォルトの名無しさん
2008/02/11(月) 16:33:020063デフォルトの名無しさん
2008/02/16(土) 21:32:370064デフォルトの名無しさん
2008/02/17(日) 00:06:29作ったものを使うのは容易だが
作るのは非常に大変だわい
0065デフォルトの名無しさん
2008/02/23(土) 23:13:410066デフォルトの名無しさん
2008/04/06(日) 20:38:270067デフォルトの名無しさん
2008/04/22(火) 22:10:170068デフォルトの名無しさん
2008/07/22(火) 20:13:450069デフォルトの名無しさん
2008/07/24(木) 01:53:11こういうの見ると便利だなと。
データ構造とアルゴリズム関係無いけど。
0070デフォルトの名無しさん
2008/11/12(水) 23:45:110071デフォルトの名無しさん
2009/01/01(木) 13:52:19>
> 3GのCPUと1Gのメモリなら、実際何秒の差がでるよ?
>
> 2倍とか5倍とかアホくせーわ
>
最近の子はすげぇなw 動画のエンコなんて15分だ30分、1時間なんてザラ。
仮に15分で2倍になれば30分。5倍になれば1時間15分。俺は2倍でも耐えられんね。
0072デフォルトの名無しさん
2009/01/01(木) 19:09:08久々に挙がったと思ったら
お前は何を考えてるんだ
あとそのテストには何の意味も無いからな
0073デフォルトの名無しさん
2009/01/01(木) 21:43:46あけおめ
まぁ、テスト自体はどうでもいいんだが数値感覚がな。
0074デフォルトの名無しさん
2009/03/11(水) 20:46:15オヤスミ…アケオメ
<⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
0075デフォルトの名無しさん
2009/04/17(金) 10:50:010076デフォルトの名無しさん
2009/05/16(土) 22:48:22Z
z
z
<⌒/ヽ-、___
/<_/____/
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
0077デフォルトの名無しさん
2009/07/27(月) 08:40:34int i=0;
for(int k=1,j=10;k<=10;k++,j--){
i+=k*j;
}
System.out.println(i);
こうゆうこと?
0078デフォルトの名無しさん
2010/03/27(土) 19:48:180079デフォルトの名無しさん
2010/03/28(日) 13:23:500080デフォルトの名無しさん
2010/04/06(火) 14:03:47『ルール7:1つのクラスにつきインスタンス変数は2つまで』
\ ───___
<  ̄ ̄ ̄ ̄|
> _________ |
 ̄ ̄ | / \ | |
| /⌒ヽ /⌒ヽ | |
| | ‘ | i ‘ | | |
| ヽ.__ノ ヽ._ノ レ⌒ヽ
ノ o 6 |.
/__ \ _ノ.
> ノ
<、___ イ
|───┤
/ |/\/\
■ このスレッドは過去ログ倉庫に格納されています