What sort of a hog is Ruby?

Dave Horsfall dave at horsfall.org
Wed Oct 12 05:53:09 UTC 2016


On Fri, 7 Oct 2016, Graham Menhennitt wrote:

> > First it blew out my disk space (the "work" sub-directory), so when I 
> > rearranged a few things to make more room it blew out my swap space!
> 
> Not sure what's going on with yours, but mine doesn't show any of those 
> symptoms. I build it regularly on a relatively low spec box (AMD G-T40E 
> Processor (1000.02-MHz K8-class CPU) with 4Gb RAM). Which version of 
> Ruby and which version of FreeBSD?

Current Ruby is ruby-2.0.0.576_1,1, trying to go to ruby23-2.3.1_1,1 .

It regularly blows out /tmp (i.e. swap) when compiling ripper.c .

FreeBSD is 9.3-RELEASE-p43, trying to get to 10.3 once I'm sure that my
entire system (inc. ports) is clean i.e. start from a known base.

Box itself is an ancient Asus Evo picked up from a flea market (I
think; I know that it came with the virus known as Windoze, but that was
quickly repaired).

CPU: Intel(R) Pentium(R) 4 CPU 1.80GHz (1794.22-MHz 686-class CPU),
Real memory  = 537395200 (512 MB) (the other SIMM failed).

Disk layout:

System      1K-blocks    Used   Avail Capacity  Mounted on
/dev/ad0s1a    507630  266022  200998    57%    /
devfs               1       1       0   100%    /dev
tmpfs          197988      28  197960     0%    /tmp
/dev/ad0s1d   3045006 1969334  832072    70%    /usr
/dev/ad0s1e   1012974  791796  140142    85%    /var
/dev/ad0s1f   4058062 2244968 1488450    60%    /home
/dev/ad0s1g   9287662 4991590 3553060    58%    /usr/local
devfs               1       1       0   100%    /var/named/dev

Swap:

Device          1K-blocks     Used    Avail Capacity
/dev/ada0s1b      1048576   932100   116476    89%

(I'm busy rebuilding Ruby again; if it fails then I'll just stick with
the old one, or make /tmp a real FS.)


On Fri, 7 Oct 2016, Peter Jeremy wrote:

> My ruby22 work tree is 415MB.  That's not small but it pales next to
> openjdk, firefox or mongodb.

Never had to compile those, thank $BABBAGE...


On Fri, 7 Oct 2016, Garance A Drosehn wrote:

> The size of ruby compared to <what>?

Compared to anything else I've compiled...

> How big is the partition with /usr/ports on it?

See above.

> What size is your swap area?

See above.

> I do not know much about the 'pkg' command, but it looks
> like you could try:
>    pkg info lang/ruby\*
> 
> Which for me lists:
>    ruby-2.2.5_1,1
>    ruby21-2.1.9_1,1

aneurin% pkg info lang/ruby\*
ruby-2.0.0.576_1,1

> Then to see what ruby depends on, try:
>    pkg query %dn ruby

aneurin% pkg query %dn ruby
readline
libyaml
libffi
libexecinfo

>    Which for me lists these ports as dependencies *of* ruby
> (you need to build these ports before building ruby):
>    libedit
>    openssl
>    libyaml
>    libffi
>    libexecinfo

As it happens, I'm busy compiling OpenSSL right now (I'm a bit anal when 
it comes to security).

> ruby itself isn't too large, but if building ruby means that
> you need to build those ports, then the build of all of that
> will chew up a lot more resources (both disk space and swap).

Sure does :-(

> If you want to find out what packages depend on ruby, try:
>    pkg query %rn ruby

aneurin% pkg query %rn ruby
portupgrade
ruby20-bdb

> which for me (on my machines) lists:
>    ruby22-bdb
>    portupgrade
> 
> Portupgrade is what I use to build freebsd ports, so I would not
> be dropping that anytime soon.
> 
> Ruby isn't tiny, but building it has never been a problem on
> any of my systems, ever.  I seem to remember that I have run
> into issues when I went to build some port which in turn built
> many other ports, but that was quite some time ago.  Maybe that
> is what you're seeing.

Yeah, it's a requirement of something else (I didn't install it by 
choice).

I must see if I can install just binaries, like I can with the Mac.

-- 
Dave Horsfall DTM (VK2KFU)  "Those who don't understand security will suffer."


More information about the freebsd-ports mailing list