【初心者】Java質問・相談スレッド112【大歓迎】at TECH【初心者】Java質問・相談スレッド112【大歓迎】 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト600:デフォルトの名無しさん 08/02/21 22:47:40 強いってのはやりやすいって意味か? それともやられにくいって意味か? 基本的にJavaはネイティブにしない限りソースへ復元は簡単な方 C#はどんだけネイティブ系使っているか次第 601:デフォルトの名無しさん 08/02/21 22:53:41 逆コンパイルはどっちも超簡単でほぼ完璧だよ 602:582 08/02/21 23:00:01 >>593 ありがとうございます。 色んなベンダから別々に色んな技術が生まれてカオスな状態という感じでしょうか デフォになってるものも無いようなので自分で色々試してみます。 603:594 08/02/21 23:02:25 >>596 ああ、なるほどー。と思って実装してみたら、逆に少し遅くなりました。(データは正しく読めてました) 以下のようなコードを書いてベンチマークしても、やっぱり遅くなってましたorz public class ReadTest { public static final int length = 3800 * 2600; public static int[] data = new int[length]; public static ByteBuffer buffer; public static void main(String[] args){ try{ buffer = ByteBuffer.allocateDirect(length * 16); buffer.order(ByteOrder.LITTLE_ENDIAN); for(int i = 0; i < 20; i++){ read1(); read2(); read2(); read1(); System.out.print(".");} long t = System.currentTimeMillis(); for(int i = 0; i < 10; i++){ read1(); } System.out.println("\r\n" + (System.currentTimeMillis() - t) + " ms"); t = System.currentTimeMillis(); for(int i = 0; i < 10; i++){ read2(); } System.out.println((System.currentTimeMillis() - t) + " ms"); } catch (Exception e){} } public static void read1() throws Exception{ FileInputStream fis = new FileInputStream(new File("hoge")); FileChannel srcChannel = fis.getChannel(); for(int i = 0; i < 4; i++) fis.read(); // ヘッダ buffer.rewind(); srcChannel.read(buffer); srcChannel.close(); fis.close(); // 読み込み buffer.clear(); for(int i = 0; i < length; i++){ data[i++] = buffer.getShort() & 0xffff;} } /* read2 は読み込み部分が古いほう(省略) */ うーん、不思議ですねえ。 getShort() は遅いんでしょうか。。。 でかい画像を大量に処理していて、読み込みが25%くらい閉めているので、短くしたい・・ 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch