Using the server JVM included with the Sun JRE/JDK (and possibly others) results in significantly better interactive performance with the tradeoff of slower startup and slightly increased RAM usage. It's particularly noticable when Azureus draws lots of GUI widgets (such as when displaying the My Torrents tab), performance comes much closer to a native application than when using the default client VM. The only way to enable this with the current ebuild is to manually edit the /usr/bin/azureus script, adding "-server" to the java command line. This patch adds support for a new variable, JVM_TYPE, in ~/.Azureus/gentoo.config which defaults to "client" (the equivalent of no flag at all) but also supports "server". The script adds the appropriate flag to the command line depending upon this variable's value. Possible problem: I can verify that this works with both the Blackdown JVM and Sun JDK 1.5.0, but I'm not sure if the IBM JVM has a seperate server/client JVM. This may need to default to no flag (rather than "-client") if some JVMs bomb out with a command line syntax error.
Created attachment 46467 [details, diff] Adds server JVM support to /usr/bin/azureus
Just a note: the JVM server mode *can* also be selected without modifying /usr/bin/azureus. Just add the following to ~/.Azureus/gentoo.config: java() { command java -server "$@"; } I like it but.. this is a bit of a [temporary] hack :-)
In dev-java/azureus-2.3.0.6, which I just unmasked, you can put JAVA_OPTIONS to your gentoo-config file to pass options to the java binary. You can use this variable to make the vm run in server mode. Sorry about this taking so long. # Options you want to pass to the java binary JAVA_OPTIONS="-server"
Works great, thanks !