Archive for May, 2007

Are there any true scripting languages for the JVM?

Wednesday, May 30th, 2007

<meta content="OpenOffice.org 2.0 (Linux)" name="GENERATOR" /><meta content="Thomas Gissel" name="AUTHOR" /><meta content="20070530;22090100" name="CREATED" /><meta content="16010101;0" name="CHANGED" /><br /> <style type="text/css"> <!-- @page { size: 8.5in 11in; margin: 0.79in } P { margin-bottom: 0.08in } --> </style> <p>Dynamic scripting is all the buzz in the programming world and the Java community seems determined to not be left behind. To keep pace with the likes of Ruby, Java is introducing dynamic languages at a rapid pass. Some of the more popular languages are: Jacl, Jython, BeanShell, Groovy, and Mozilla Rhino. There is even a JSR, 223, aimed at making scripting a first class citizen for the Java Platform.</p> <p>Given the large number of dynamic languages for the Java developer to choose from one wonders if any of them are true scripting languages? Not in my mind. For something to be a true scripting language it must be useful for System Administration. Perl, Python, Bash, C shell, Korn shell and Bourne shell (among others) all pass this test while the Java scripting languages do not. All the JVM based languages are missing two key elements to be useful for System Administration: lightning fast start-up, and low level hooks to the Operating System.</p> <p>Far be it from me to pose a problem without offering a solution. So, first we need to hook the JVM into the OS. Lucky there are several pre-built packages that get us most of the way there; including: Jtux and Posix for Java. Now we need a lightning fast JVM. Hmm, that is a little harder to come by. Is 50% a passing grade?</p> <p><script type="text/javascript">SHARETHIS.addEntry({ title: "Are there any true scripting languages for the JVM?", url: "http://singlethreaded.org/blog/2007/05/?y%/are-there-any-true-scripting-languages-for-the-jvm/%" });</script></p> </div> <p class="postmetadata"> Posted in <a href="http://singlethreaded.org/blog/category/programming" title="View all posts in Programming" rel="category tag">Programming</a> | <a href="http://singlethreaded.org/blog/2007/05/?y%/are-there-any-true-scripting-languages-for-the-jvm/%#comments" title="Comment on Are there any true scripting languages for the JVM?">2 Comments »</a></p> </div> <div class="post"> <h3 id="post-9"><a href="http://singlethreaded.org/blog/2007/05/?y%/benchmarking-cold-start-on-sles/%" rel="bookmark" title="Permanent Link to Benchmarking Cold Start on SLES 10">Benchmarking Cold Start on SLES 10</a></h3> <small>Monday, May 7th, 2007</small> <div class="entry"> <p>Yesterday I began benchmarking an application’s cold start (after reboot) performance on SLES 10, and ran into an interesting problem. The results of my tests were varying wildly from between 2 to 3 seconds start-up time and 10-14MB of memory usage. After doing some investigating I found that the “zmd” process (zmd /usr/lib/zmd/zmd.exe) was getting kicked off at init time and eating a bunch of my CPU (10-50%) during my tests. I subsequently disabled zmd via “chkconfig –level 345 novell-zmd off”, rebooted and life was good. The memory used on the box post start-up went from 107MB to 98MB and the machine was quiet after the init sequence finished . Most importantly; however, I am now able to get repeatable results.<br /> As an aside, I realize that disabling the Zen Network Manager impairs my ability to update and add software to my system but that begs the question, do I really need to be automatically notified of updates on my server machine?  For me, the answer is no.  Also, one wonders why Novell chose to write zmd in C#, an “exe” process running on my Linux box??</p> <p><script type="text/javascript">SHARETHIS.addEntry({ title: "Benchmarking Cold Start on SLES 10", url: "http://singlethreaded.org/blog/2007/05/?y%/benchmarking-cold-start-on-sles/%" });</script></p> </div> <p class="postmetadata"> Posted in <a href="http://singlethreaded.org/blog/category/linux" title="View all posts in Linux" rel="category tag">Linux</a>, <a href="http://singlethreaded.org/blog/category/programming" title="View all posts in Programming" rel="category tag">Programming</a> | <a href="http://singlethreaded.org/blog/2007/05/?y%/benchmarking-cold-start-on-sles/%#respond" title="Comment on Benchmarking Cold Start on SLES 10">No Comments »</a></p> </div> <div class="navigation"> <div class="alignleft"></div> <div class="alignright"></div> </div> </div> <div id="sidebar"> <ul> <li> <form method="get" id="searchform" action="http://singlethreaded.org/blog/"> <label class="hidden" for="s">Search for:</label> <div><input type="text" value="" name="s" id="s" /> <input type="submit" id="searchsubmit" value="Search" /> </div> </form> </li> <!-- Author information is disabled per default. Uncomment and fill in your details if you want to use it. <li><h2>Author</h2> <p>A little something about you, the author. Nothing lengthy, just an overview.</p> </li> --> <li> <p>You are currently browsing the <a href="http://singlethreaded.org/blog/">Tom Gissel @ singlethreaded.org</a> blog archives for May, 2007.</p> </li> <li class="pagenav"><h2>Pages</h2><ul><li class="page_item page-item-2"><a href="http://singlethreaded.org/blog/about" title="About">About</a></li> </ul></li> <li><h2>Archives</h2> <ul> <li><a href='http://singlethreaded.org/blog/2008/05' title='May 2008'>May 2008</a></li> <li><a href='http://singlethreaded.org/blog/2008/04' title='April 2008'>April 2008</a></li> <li><a href='http://singlethreaded.org/blog/2007/10' title='October 2007'>October 2007</a></li> <li><a href='http://singlethreaded.org/blog/2007/08' title='August 2007'>August 2007</a></li> <li><a href='http://singlethreaded.org/blog/2007/07' title='July 2007'>July 2007</a></li> <li><a href='http://singlethreaded.org/blog/2007/06' title='June 2007'>June 2007</a></li> <li><a href='http://singlethreaded.org/blog/2007/05' title='May 2007'>May 2007</a></li> <li><a href='http://singlethreaded.org/blog/2007/03' title='March 2007'>March 2007</a></li> <li><a href='http://singlethreaded.org/blog/2007/01' title='January 2007'>January 2007</a></li> </ul> </li> <li class="categories"><h2>Categories</h2><ul> <li class="cat-item cat-item-5"><a href="http://singlethreaded.org/blog/category/life-imitating-art" title="View all posts filed under Life Imitating Art">Life Imitating Art</a> (1) </li> <li class="cat-item cat-item-2"><a href="http://singlethreaded.org/blog/category/linux" title="View all posts filed under Linux">Linux</a> (2) </li> <li class="cat-item cat-item-6"><a href="http://singlethreaded.org/blog/category/misc" title="View all posts filed under Misc">Misc</a> (4) </li> <li class="cat-item cat-item-3"><a href="http://singlethreaded.org/blog/category/programming" title="View all posts filed under Programming">Programming</a> (11) </li> <li class="cat-item cat-item-7"><a href="http://singlethreaded.org/blog/category/web-20" title="View all posts filed under Web 2.0">Web 2.0</a> (1) </li> </ul></li> </ul> </div> <hr /> <div id="footer"> <!-- If you'd like to support WordPress, having the "powered by" link somewhere on your blog is the best way; it's our only promotion or advertising. --> <p> Tom Gissel @ singlethreaded.org is proudly powered by <a href="http://wordpress.org/">WordPress</a> <br /><a href="http://singlethreaded.org/blog/feed">Entries (RSS)</a> and <a href="http://singlethreaded.org/blog/comments/feed">Comments (RSS)</a>. <!-- 19 queries. 0.285 seconds. --> </p> </div> </div> <!-- Gorgeous design by Michael Heilemann - http://binarybonsai.com/kubrick/ --> </body> </html>