Mac Mini with External Firewire Drive

Posted by Scott Hughes Tue, 20 Dec 2005 22:17:00 GMT

I’ve been drooling at the dual- or quad-core G5’s for a while now, trying to decide whether or not I want to spend that kind of money on a new computer. I’m really very happy with the Mac Mini; you certainly can’t complain about its price. But I do still have some speed concerns. Specifically, application startup time can be horrendous. Applications which hog a lot of memory (like Firefox) can be unbearable to restart. The current solution has been to never shut anything down. Sometimes switching between applications becomes cumbersome, but never as slow as a fresh startup. Before I traded up to the big Macs, which have way more power than I’ll really need, I want to see if it’s possible to give the Mini just a little more juice.

Read more...

Posted in  | Tags , , ,  | no comments

Comparing Ruby Performance

Posted by Scott Hughes Mon, 28 Nov 2005 19:50:00 GMT

My old friend P.O. Boykin recently took a look at Ruby (and other scripting languages) and came up with a very interesting post: Performance of Programming Languages

After spending time with so called “scripting languages” (a term that I feel is not a terribly well defined or useful), I have found that I enjoy programming in languages like Ruby, Python, and Boo more than languages like C, C++, Java, or C# (though C# is getting better and better as they improve the language). My question is: how much performance do I loose by adopting one these laguages. To answer this question I took a look at the Language Shootout site.

I hadn’t heard of the Language Shootout site; that’s a very interesting link. They compare the implementations of your favorite programming languages (and are very careful not to say they compare the actual language, just the implementation) and produce a whole lot of “at-a-glance” graphs.

I’m a very recent fan(atic) of Ruby. I still don’t “think” in Ruby, just because I don’t have enough trench time with it. But I subscribe to the Google group RSS feed for comp.lang.ruby, and it’s very common to find code snippets (usually in response to a question) that just make me smile. Since more than half of the work I do at my job is using a PC to communicate with a significantly slower device (parallel FPGA, usb or serial Micro, or a 1-Wire device), I try to sneak scripting solutions in wherever I can. If the PC takes 100x more cpu time to compute a message that is going to be put on a slow bus (several orders of magnitude slower than the cpu) noone is going to notice the loss of a few extra nanoseconds. That said, I usually need to hand code off to other people (those so-called “paying customers”) and using a more popular programming language (C or Java) makes that hand-off much easier.

But for some of my tasks, Ruby’s elegance outweighs any of the performance penalties. Ruby is still fairly young, so I’m hoping that in the near future it will reach a good level of general acceptance and gain some significant performance improvements (thanks to all the eyes it now has on it). Also, I think it’d be interesting to run the same benchmarks the Language Shootout guys did, but using either YARV [1] or RB2C [2]. Seems that if those projects don’t do better than vanilla Python, they should re-think their solution. It’d be nice to see if they are able to tighten the large margins between the Java or .NET runtime.

[1] YARV: Yet Another Ruby VM - http://www.atdot.net/yarv/

[2] RB2C : a Ruby to C converter http://www-lab09.kuee.kyoto-u.ac.jp/~hiwada/ruby/rb2c/

Posted in  | Tags , ,  | 4 comments