Kinda hijacking the thread but... does port forwarding actually does anything to your online game "experience" ? If it shaves off 20ms of ping then its not worth it to me (im on the high 200s most of the time).
Port forwarding has nothing to do with latency. All it does is tell your router or system firewall "let me initiate a remote connection on outgoing port X and optionally translate said port to some other port Y" or (more likely) "let a remote host initiate a connection to my computer on incoming port X and optionally translate said port to some other port Y".
Basically, if you host a server and are behind a router, you'll most likely have to do some port forwarding, otherwise your router will deny anyone outside your network the ability to connect to your server. In general, most home routers by default let you connect to anything on any port, but do not let anything at all connect to you (which is not necessary for everday internet usage but only needed when you want to host a public service on your home network, which is by the way not recommended outside of the occasional game server as residential lines are not designed for this, in fact some ISP's will forbid you from doing so). Business or school routers, on the other hand, are stricter, due to security concerns.
This is really annoying because gamers around the world will typically just throw the same generic advice at people, "have you forwarded your ports", which is useless advice. Port forwarding is an all-or-nothing situation. If it's not configured right, you won't just lag, it simply will. not. work. at. all. And furthermore, allowing incoming connections on various ports on a home router is a security risk. And usually, unless you are hosting, you do not need to touch your ports as most people have it already set up by default. At least I've never had to.
So, no, unless your router has the horsepower of a pocket calculator, port forwarding should not affect latency. It will simply enable/prevent you to connect (or host).
^ and as Hodgman said above, computers behind a same router share the same IP, so unless you have told the router to "forward incoming stuff on port 1874 on my computer", it won't know where to send it inside the network and so will just discard it (or route it to the DMZ, if you have set that up)
Now UPNP is a different matter, though..
The slowsort algorithm is a perfect illustration of the multiply and surrender paradigm, which is perhaps the single most important paradigm in the development of reluctant algorithms. The basic multiply and surrender strategy consists in replacing the problem at hand by two or more subproblems, each slightly simpler than the original, and continue multiplying subproblems and subsubproblems recursively in this fashion as long as possible. At some point the subproblems will all become so simple that their solution can no longer be postponed, and we will have to surrender. Experience shows that, in most cases, by the time this point is reached the total work will be substantially higher than what could have been wasted by a more direct approach.
- Pessimal Algorithms and Simplexity Analysis