並列化とmxbean
おおー
[java][数値計算]ざっぱ〜んの処理を並列化する
ありがとー! うわあああああああ何てやさしい人だ!
というか,実はきしださん前のソースに
> exec = Executors.newFixedThreadPool(threadLimit);
を既に仕込んでてくれてたりする……たのでついつい先走ってしまってた*1。
ここを参考にしますた。http://java.sun.com/j2se/1.5.0/ja/docs/ja/api/java/util/concurrent/Executor.html
しかしJavaって僕にとってはほぼ未体験ゾーンなのできしださんに模範解答もらえるのは嬉しかった。ちなみにうちのマシンでは大体 1.4倍程度出てるみたい。場当たり的に細かく割りすぎてしまったのでオーバヘッドの方がかなり大きそう。あとでまとめてみよう。
で、まとめる前にJavaのprofilerを調べてたら jmxとか言うのにぶつかる。凄いなこれ。と思ったのもつかの間。jconsoleを立ち上げようとしたら
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.initSystemColorDefaults(GTKLookAndFeel.java:1267) at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.loadStyles(GTKLookAndFeel.java:1509) at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.access$000(GTKLookAndFeel.java:37) at com.sun.java.swing.plaf.gtk.GTKLookAndFeel$WeakPCL$1.run(GTKLookAndFeel.java:1449) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121) Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.initSystemColorDefaults(GTKLookAndFeel.java:1267) at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.loadStyles(GTKLookAndFeel.java:1509) at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.access$000(GTKLookAndFeel.java:37) at com.sun.java.swing.plaf.gtk.GTKLookAndFeel$WeakPCL$1.run(GTKLookAndFeel.java:1449) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160) at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
とか多量に怒られて鬱になる。なんぞ gtk関連のインストールが不足なんだろか。んあー単純に時間計測を入れるだけにしようかな。
しかし、何だかんだでJavaにハマりつつある自分がおもそろい。ついこないだ"JavaからRubyへ"を立ち読みしたばかりなんだけども。。。*2
[rakuten:book:12046612:detail]
d:id:tkuro:20080418:1208531276
追記:
AspectJとかいうのにぶつかる ← いまここ