Michael Lazin via plug on 4 Oct 2020 17:44:15 -0700

[Date Prev] [Date Next] [Thread Prev] [Thread Next] [Date Index] [Thread Index]

Re: [PLUG] Distcc

As painful as it is, if you actually compile it on the machine you are going to run it on, it will be compiled specifically for that hardware and you will have a performance boost you will not get from cross-compiling with generic flags.  I actually recommend biting the bullet and compiling on the system you are going to run it on.  Gentoo has excellent documentation and you'll be amazed at what you can do.  I compiled gnome on a sun blade 100, it was painful, but if you are running old hardware the performance boost is worth it IMHO.
Michael Lazin

to gar auto estin noein te kai ennai

On Sun, Oct 4, 2020 at 7:01 PM Rich Freeman via plug <plug@lists.phillylinux.org> wrote:
On Sun, Oct 4, 2020 at 3:17 AM Casey Bralla via plug
<plug@lists.phillylinux.org> wrote:
> I had a "brilliant" idea tonight.   I'll try creating a virtualbox machine with the same CFLAGS, CHOST, CPUFLAGS, and ACCEPT_KEYWORDS that the client uses.  But the virtual box will be given all the host cores and lots of RAM.  Then this virtualbox will be set as the volunteer.  Like you said, I cannot use the "-march=native" flag in the volunteer.

That would maximize your chances.  A container would also be fine -
the kernel isn't going to matter, and it would certainly be more
efficient, especially for memory-hungry builds.

-march=native is a definite no-no with distcc - that is going to break
all the time unless all your hardware is identical.

Even under ideal circumstances there are plenty of packages that break
with distcc.

The other problem I've had with doing it at scale is that you end up
having to set -j on the high side.  That is great when you're using
gcc because it distributes.  Then make suddenly tries to build a bunch
of stuff using ant/java/whatever or even python and suddenly you have
a bazillion thread spawning locally killing the system.  There needs
to be some way to set -j such that it only applies to gcc.

I've used it at times, but have mostly given up on it.  Just too much
human-intervention time for the amount of system-time it saves me.

Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug
Philadelphia Linux Users Group         --        http://www.phillylinux.org
Announcements - http://lists.phillylinux.org/mailman/listinfo/plug-announce
General Discussion  --   http://lists.phillylinux.org/mailman/listinfo/plug