Question: Out of curiosity, why does it often take *seconds* to obtain network configuration via DHCP when the CPU is capable of processing millions of operations per second and ping to the router takes a couple of milliseconds?

In my home environment with one WiFi router and about 5 devices, it is not rare to see times like 5-10 seconds.

Answer: 
DHCP might take a bit longer time because it involves a series of transactions, not with a single server but with all the devices on the network during the initial request, as it sends a broadcast message.

If you check the RFC for DHCP, 

<http://www.faqs.org/rfcs/rfc2131.html>

you can clearly see the the series of negotiations involves. At the beginning the client sends DHCPDISCOVER to all the devices on the LAN, then the servers running dhcp service return DHCPOFFER message. The client might also wait to get responses from all available dhcp servers before it picks one. Then it sends a DHCPREQUEST with an identifier which indicates which server it has chosen as its ip provider. Finally it gets DHCPACK with all the configuration parameters. This is just a summary of the "3.1 Client-server interaction - allocating a network address" from the RFC.

From my experience dhcp takes long time mainly in large LAN setting with lots of nodes connected. In a homenetwork with just a single dhcp server(WIFI router for instance) and one or two pcs, it is pretty fast.
I don´t know what scenary you have, but in the real world you get the ip address...etc from an old server (dhcp server is always the one with the oldest hardware :) ) with lots of requests, behind a firewall, one or several routers/switches... Latency, cpu power...and in a windows world, dhcp implementation is not as efficient as we would like!.