[OpenVPN home] [Date Prev] [Date Index] [Date Next]
[OpenVPN mailing lists] [Thread Prev] [Thread Index] [Thread Next]
Google
 
Web openvpn.net

Re: [Openvpn-users] Bug in status.c when building with VC


  • Subject: Re: [Openvpn-users] Bug in status.c when building with VC
  • From: James Yonan <jim@xxxxxxxxx>
  • Date: Wed, 8 Dec 2004 02:51:37 -0700 (MST)

On Tue, 7 Dec 2004, Blaine Fleming wrote:

> 
> >Interesting.  Can you provide more details such as file size differences?
> 
> The file sizes below are for 2.0rc1 out of the box dynamic build using 
> mingw, visual studio 6, visual studio 2003 and intel's compiler and linker 
> 8.1 integrated with visual studio 6.  I also showed the compressed sizes of 
> a stripped version of the mingw build and upx compressed 
> versions.  Stripping of the non-mingw builds made them unstable.  OpenSSL 
> binaries were also built using mingw and visual studio 7.  There are 
> substantial file size differences in those as well.
> 
> 12/07/2004  08:25 PM           491,520 openvpn.icl
> 12/07/2004  08:18 PM         1,765,222 openvpn.mingw
> 12/07/2004  08:20 PM           339,968 openvpn.vc6
> 12/07/2004  08:07 PM           360,448 openvpn.vc7
> 12/07/2004  08:18 PM           601,446 stripped.mingw
> 12/07/2004  08:50 PM           194,560 upx.icl
> 12/07/2004  08:18 PM           601,446 upx.mingw
> 12/07/2004  08:20 PM           134,144 upx.vc6
> 12/07/2004  08:07 PM           136,192 upx.vc7
> 
> >What sort of metrics did you use to compare performance, and how did the
> >numbers stack up?
> 
> Here are some stats run using iperf between a Dual P3-500 (server) and a 
> P3-850 (client).  There are a few routers between them, but there is no 
> packet loss and average RTT is less than 1ms.
> 
> server command: iperf -s
> client command: iperf -c <remote> -d
> 
> No VPN
> [ ID] Interval       Transfer     Bandwidth
> [1796]  0.0-10.1 sec  16.3 MBytes  13.6 Mbits/sec
> [1816]  0.0-10.0 sec  25.6 MBytes  21.5 Mbits/sec
> 
> MINGW
> [ ID] Interval       Transfer     Bandwidth
> [1796]  0.0-10.3 sec   184 KBytes   147 Kbits/sec
> [1816]  0.0-10.5 sec   264 KBytes   206 Kbits/sec
> 
> VC6
> [ ID] Interval       Transfer     Bandwidth
> [1796]  0.0-10.7 sec   304 KBytes   233 Kbits/sec
> [1816]  0.0-10.8 sec   544 KBytes   411 Kbits/sec
> 
> VC7
> [ ID] Interval       Transfer     Bandwidth
> [1796]  0.0-10.7 sec   344 KBytes   264 Kbits/sec
> [1816]  0.0-10.9 sec   632 KBytes   476 Kbits/sec
> 
> ICL
> [ ID] Interval       Transfer     Bandwidth
> [1796]  0.0-10.9 sec   432 KBytes   324 Kbits/sec
> [1816]  0.0-10.9 sec   768 KBytes   577 Kbits/sec
> 
> >If the performance differences are significant, I would be happy to use
> >MSVC for the Windows builds if someone is willing to donate a copy.
> 
> I have some licenses available for each.  I can drop VC6, VC7 and ICL into 
> the test virtual machine if you would like.  Let me know off-list.

The MinGW numbers seem lower than I would expect, given the No VPN stats.
  
It might be instructive to try the test with --cipher none --auth none to 
factor out crypto overhead.

I'm also surprised that gcc and the MS compilers would show such large 
differences.  I would have thought that the bottlnecks would be low level 
crypto and the context switching to and from the TAP-Win32 driver.

Given that gcc is compiling most of the open source OSes today, it's hard 
to believe that they could be as competitive as they are, in terms of 
efficiency, if the gcc people had left a lot of low-hanging optimization 
fruit on the tree.

James

____________________________________________
Openvpn-users mailing list
Openvpn-users@xxxxxxxxxxxxxxxxxxxxx
https://lists.sourceforge.net/lists/listinfo/openvpn-users