Performance tuning

Matthew Dillon did some more performance tuning for DragonFly.  I’ll just pull a paragraph from the commit message, since that will have more impact than anything I say:

Improves fork/exec concurrency on monster of static binaries from 14200/sec to 55000/sec+. For dynamic binaries improve from around 2500/sec to 9000/sec or so (48 cores fork/exec’ing different dynamic binaries). For the same dynamic binary it’s more around 5000/sec or so.

“monster” is a 48-core machine used for testing.

Discontented with contention? Be content.

Matthew Dillon wrote a roundup post summarizing all the changes he’s made to DragonFly to improve SMP performance in the last few weeks.  He’s removed almost all contention from DragonFly.  This means better performance, scaling upward depending on the number of processors.

‘monster’, the system that builds all 20,000 items in dports, can complete the run in 15 hours.  Compare this to the 2 weeks it used to take me to build the 12,000 packages in pkgsrc.  This is admittedly on different hardware and different packaging systems, but it gives a sense of the scale of the improvement.

 

DragonFly pkgsrc repo is frozen

The pkgsrc repository in git for DragonFly is currently frozen.  This is because many people have switched over to dports, and also because it’s a lot of work to keep it functional.  If you do want to pull newer pkgsrc material, use cvs and grab it from a NetBSD server.

As the message notes, don’t go switching to DragonFly-current right now, cause there’s a lot of new material in there and it may not be quite safe.  (There’s an ABI change that will require all new builds of your ports, for instance.)