Must be a helluva toggle switch! 
The InGroup functions on my site were performance-optimized for use in our login script. The most complex configuration I've ever deployed for a client mapped about 14 drive and 6 printer resources out of a pool of almost 475 shares and almost as many printers. Most were done through four different lookup tables with 440 entries each. On the LAN, the script ran in about 6 seconds, and on the WAN, it took about 11 seconds on the older 256K DDS (frame relay) service. Their original script took 90+ seconds to complete in the remote offices, and 30+ seconds on the LAN!
Our group matching logic in our latest release shaves about 2-5 seconds off of those times by eliminating all of the individual InGroup lookups.
In our network, the login script finishes in about 3 seconds when there are no messages*, so we added a delay to display it for at least 6 seconds. (*Messages impart a minimum 2-second per message delay to allow time to read them.)
Point is - careful selection of UDFs and optimizing your logic can provide a significant increase in performance.
Glenn
_________________________
Actually I
am a Rocket Scientist!