Your wireless card is 802.11a/b/g, which has a max physical layer throughput of 54 Mbit/sec. This maximum is rarely achieved in 'normal operating conditions' for most people, and you're more likely to see much slower speeds. Compared to a typical 100 Mbit ethernet card which has a max physical layer throughput of ... 100 Mbit, you should not expect to reach the same level of performance.
What you gain in mobility and convenience with Wireless is supposed to outweigh the speed/performance benefits of being tied down with ethernet. Bondage puns unintended, but channel bonding puns implied.
Fwiw, IPv6 is not primarily intended to provide performance gains, it's main benefit is increased address availability. Disabling it may or may not affect performance.
There's a myriad of reasons for differences in Windows vs Linux drivers, not least of which is whether the vendor contributed the driver to Linux. You may be able to tune kernel network parameters with
sysctl, or by manipulating the driver module load options. Finally, the driver from Windows may load on Linux using NDISwrapper.
For more information on sysctl:
- On Ubuntu and Debian systems the file
/usr/share/doc/procps/examples/sysctl.conf is heavily commented.
- The man pages for
sysctl.conf may be helpful.
- Some performance settings on Ubuntu with sysctl.
There seems to be more information about sysctl on Linux 2.4 kernels than 2.6. I'd have to go delving into the Linux source code documentation for more.