There are many factors involved in possible speed of hfs, there are many bottlenecks:
HFS is not multi-threaded, so only one core is used. Look to verify at the processor load graphics: Build a filelist (~files?recursive) of a big filesystem, and you will see that processor load reaches only 50% on a dual core, one core uses 100%, on quadcore hfs can use one core at 100% and total cpu-use gets 25%.
Other differences between windows and Ubuntu machines: Most probably, your Ubuntu is a 64bit OS, and older windows would be a XP with 32 bits. This might be irrelevant to hfs, as hfs is a 32 bit application, but other OS tasks will go faster in 64 bit OS. Ubuntu needs less memory to work fine, windows needs a lot of memory (perhaps not available on older machines), and fewer available memory involves swapping: In an 2GB memory machine, ubuntu normally not even uses the swap partition, windows swaps even with 2 GB of free memory!
Things that slow down in windows:
- bad use of virtual memory (windows shuffles in and out data to and from disk even when there is enough memory available): this are a lot of disk operations.
- antivirus under windows: some of them verify data when read and written to and from files on disk. This in some cases reduce the throughput of data to less than a third of its possible value!
- network operations under windows may not be as efficient as under linux.
For internet access, network cards are rarely a bottleneck: Even the oldest cards are 10 Mb/s, since years they are 100 Mb/s and 1 Gb/s , and very few users have intenet connections above this values (especially for outgoing traffic!),