The general rule of thumb is that if you have a function written in an interpreted language (Perl, Python, etc.), it'll be faster in C. If you need it faster than that, you go to assembly. Prepare to have your world rocked: Venkatesh Srinivas found that strlen() in libc was actually slower written in assembly than in C. His commit message has numbers to back that up.
Adrian Chadd showed up on the DragonFly kernel@ mailing list, offering some help in keeping things compatible with FreeBSD and 802.11 networking. That's quite neighborly of him, especially since his hands are already pretty full.
It's another throughput tweak from Sepherosa Ziehau: soaccept is run differently when pulling in network data from a socket. The commit message once again shows the results of the change using httperf.
As Brooks Davis kindly posted to users@, FOSDEM 2012 will have a "BSD Licensed Operating System Developers Room". This has the most value to you if you'll be near Brussels, February 4th and 5th.
Siju George asked about how he could figure out which serial number (in /dev/serno) maps to which disk. Tim Darby posted a script he used for it, or you can just use devattr(8). There's also a linking trick described by Chris Turner to remember how the names map.
Happy (post) Turkey Day for the U.S. readers! A light link week this week.
- Facebook is bad for the Internet. 'Gaslighting' is a new term to me. As that article points out, I can't even put my posts to the Digest onto Facebook in any sort of automated way. Facebook suggests that of course I'd love to retype them all by hand. That's not realistic. Facebook doesn't want any sort of useful external link to be visible to their customers. Customers isn't actually the right word; the customers are the advertisers. What would be a better word for the users? Crop?
- "the internet is above and beyond all else a resentment machine." It's a very long essay that points out people are confusing brand identity with personal identity. (via)
- You know what would be good? More conversations about games on BSD, cause it could use some attention. Oh hey there you go.
- A Dragonfly lamp (via Julian Gehtdichgarnichtsan)
Binutils in DragonFly is now up to version 2.22 - the commit linked is one of several.
Francois Tigeot has updated his PDF of Postgres benchmarks with some OpenIndiana results. They're crazy high, though he reported some freezes too, as with Linux.
BSDTalk 208 is out, where Will Backman talks for 15 minutes about how he uses BSD in his University of Maine UNIX class.
Some time ago, Matthew Dillon worked on a bulk build system that built as much of pkgsrc in parallel as possible. It's in the tree now as 'fastbulk', for anyone wanting to try it out. I used it a bit; I didn't measure the degree of speed increase, but was able to get about 70% of the packages built.
Sepherosa Ziehau has implemented another networking speedup. Read the commit message for details on what he changed, since it's rather in-depth. He shows an 18% improvement in netperf results.
Matthew Dillon has written a contiguous memory mapper, which is designed to fix problems with video cards and USB drives that need a big chunk of memory to keep. This can affect booting or later on, when disconnecting/reconnecting a USB drive. If this still doesn't fix the problem for you, try adjusting the sysctl 'vm.dma_reserved' to something bigger, like 64M. It defaults to 16M. (Normal mailarchive isn't updating because of an ongoing upgrade to crater.dragonflybsd.org - sorry!)
When building world and kernel on DragonFly, /usr/obj is where the work files get placed. This can eat a bit of space, but it can be safely deleted. If you keep the files around, subsequent rebuilds can be done faster with a quickwork/quickkernel, but this may not matter to you. (This was answered on the mailing lists by Max Herrgaard, but I don't have a link to his reply - sorry!)
Hey, the date's sorta palindromic! Sorta.
- "Bundled, Buried and Behind Closed Doors" - a video description of the physical parts of the Internet. Remember when MAE-East or MAE-West would have a bad day and half the Internet felt it? Really, half. I don't think I'm exaggerating. (via)
- Google has a verbatim search mode now, for those of you who regret the loss of '+' as a required search term designator. (via and also sort of via) There's always alternatives.
- "The expr program is a real piece of crap." Laser-focused complaining about a small program that's had 4 decades to improve, and hasn't.
- "Mechanics for Pure Aesthetics" The videos are interesting, and I'm linking to this because so much of what I post here and deal with is focused computer work. Everything is a tool, with a purpose, and a result that you expect. This idea of machinery or even software having a purpose other than result generation is underexplored. There's lots of tools to create art, but there's little that is art itself. Even with that general lack, we still get excited when the edge of some sort of aesthetic appeal nudges its way into the materials we use. You could argue that Apple's success (for instance) comes from being the one company that consistently thinks about what a product is, instead of what it does.
- If you use fastcgi, you may need the patch that this blog post talks about. Also, apache-mpm-prefork is the better choice for Apache on DragonFly.
- "DragonFly mug shot"
Remember the Postgres benchmark I described here a few days ago? Francois Tigeot has updated it with numbers from Scientific Linux running the same pgbench procedure. (see page 2) If you're too lazy to look at the PDF, his summary is this: Linux is fastest of all, and also crashes the most.
Sepherosa Ziehau has implemented an asynchronous pru_send in sendfile. The results are a 70-90% increase in performance, as shown in his netperf localhost test.
DragonFly now uses Redmine for bugs.dragonflybsd.org. This means that the bugs@ and submit@ lists have can still be read by anyone, but to post a new bug or patch, or reply, you need to be registered on the bug tracker itself. You don't have to be subscribed to the mailing list to use the web interface. See the bugs@ and submit@ announcements for other details.
The man page for dfregress has been put together, and you can read it and find out how to contribute, right now. (That man page should be up by the time this is posted...)
Juan Francisco Cantero Hurtado has been working with clang and DragonFly, along with Sascha Wildner. DragonFly mostly compiles using clang, with lib/citrus being (the only? one of?) the last holdouts. Juan Francisco Cantero Hurtado detailed how to test it out using clang 3.0 in case someone else wants to help solve this.