Clojure and Overtone Driving Minecraft
blog.josephwilk.net
Clojure and Overtone Driving Minecraft
1–10 of 18 posts
Re: Clojure and Overtone Driving Minecraft
#2Re: Clojure and Overtone Driving Minecraft
#3Re: Clojure and Overtone Driving Minecraft
#4Seems that your SSL certificate is untrusted. Is this intentional (personally signed?) or an error?
Re: Clojure and Overtone Driving Minecraft
#5Really? I mean really?
Re: Clojure and Overtone Driving Minecraft
#6> java -XX:MaxPermSize=1G Really? I mean really?
Re: Clojure and Overtone Driving Minecraft
#7> java -XX:MaxPermSize=1G Really? I mean really?
New to java, but just wondering ... would that be due to intern()-ing (strings/symbols/etc.)?
Re: Clojure and Overtone Driving Minecraft
#8> java -XX:MaxPermSize=1G Really? I mean really?
Spigot warning: ``` Warning, your max perm gen size is not set or less than 128mb. It is recommended you restart Java with the following argument: -XX:MaxPermSize=128M Please see http://www.spigotmc.org/wiki/changing-permgen-size/ for more details and more in-depth instructions. ```
Re: Clojure and Overtone Driving Minecraft
#9Earlier quoted context omitted.
New to java, but just wondering ... would that be due to intern()-ing (strings/symbols/etc.)?
The code doesn't look optimized with respect to reflection (i.e. avoiding it); maybe a lot of gc churn as well. The latter is a fact of life if you do lots of computations with lots of immutable collections, so it's important to identify parts which can be refactored to use Clojure transients and/or other mutable objects, but without "polluting" the entire program with mutable state.
Re: Clojure and Overtone Driving Minecraft
#10> java -XX:MaxPermSize=1G Really? I mean really?
-d64 (force a 64-bit data model, although usually this isn't necessary)
-server (use the server-optimized JVM instead of the desktop-optimized one, again, may not be necessary)
-Xmx1G (start with this heap memory limit and increase if necessary)
-XX:+UseConcMarkSweepGC (for multithreaded GC)
-XX:+CMSIncrementalMode (only use on computers that support 1 or 2 hardware threads)
-XX:+AggressiveOpts (enables additional JVM optimizations)
There's a ton of bad advice out there when it comes to JVM configuration and Minecraft. The above comes from my understanding of this somewhat dated Java GC tuning guide (http://www.oracle.com/technetwork/java/gc-tuning-6-140523.ht...) and sk89q's excellent Minecraft server tuning guide (http://www.sk89q.com/2013/03/improving-your-minecraft-server...), coupled with small-scale server profiling on my part.