my work at p2k7

Previous thread: Sangoma wanpipe driver and ALTQ on OpenBSD 4.0 by Vincent Li on Friday, November 2, 2007 - 11:36 am. (1 message)

Next thread: Re: When will OpenBSD support UTF8? by Jung on Friday, November 2, 2007 - 1:57 pm. (1 message)
From: Marc Espie
Date: Friday, November 2, 2007 - 12:43 pm

This was really shortly mentioned on undeadly, because it probably deserves
a separate announcement and article.

First, I want to really thank robert@ again for the organization, and putting
up with rude OpenBSD french developers as he has... plus the people who donated
enough to make these kind of events possible.

Also, my laptop died 3 weeks before the hackathon, and I got a new one,
thanks to project money.  It's not really the most expensive laptop you've
ever seen, but it has a dual-core...

Now for some background. I've been maintaining OpenBSD's make for a long time
(over 8 years, I think). It started as simple bug-fixes, then speed-ups, then
more radical clean-ups.

About one year ago, I had a kind of epiphany (yeah, I'm a fan of Angel): I
realized that this code is really atrocious, and instead of fixing bugs,
I started replacing big chunks of it. Not to disparage the guy who wrote
pmake in the first place, as he had very different constraints and goals,
but it is painfully obvious this is a half-finished research project, and
not an industry-standard POSIX make.

So, I started cutting stuff that no-one uses, and options that simply don't
work, to try to make sense of the beast.  And I changed algorithms. Most
specifically, I streamlined the suffix handling, and I killed all the
remote job handling.

To make sense of make, you've got to realize there are basically two beasts
folded into one: make in `compat' mode uses its own engine to figure out
which targets to compute first, and its own job runner.  The engine is
rather simple, since it doesn't have to queue things up, and can just
run commands.  The parallel engine is a bit more complex, since it tries
to explore more of the tree to start up several jobs at once.  It also has
an interesting idea: it tries to create shell scripts that agregate commands
to minimize the number of processes created.  Unfortunately, THIS is a bad
idea, in modern times, since POSIX mandates separate commands must be run
by separate ...
From: RW
Date: Friday, November 2, 2007 - 1:56 pm

<and lots more informative stuff>

Gosh it's nice to hear the process in this form Marc.
Totally comprehensible for those of us who don't have all your skills
and experience and bloody well written too.

In Australia (it may not be unique to us but I have not heard it
elsewhere) we have a saying: "Your blood's worth bottling!"

It applies to you.

On behalf of those who appreciate just how well the OpenBSD ports and
packages work for us, I'd like to thank you very much.

Rod/

From the land "down under": Australia.
Do we look <umop apisdn> from up over?

From: Miod Vallat
Date: Friday, November 2, 2007 - 2:07 pm

I'll drink to that!

Miod

Previous thread: Sangoma wanpipe driver and ALTQ on OpenBSD 4.0 by Vincent Li on Friday, November 2, 2007 - 11:36 am. (1 message)

Next thread: Re: When will OpenBSD support UTF8? by Jung on Friday, November 2, 2007 - 1:57 pm. (1 message)