[x264-devel] MSVC patch test results under MSVC 2013

肖卫华 xiaoweihuacom at 126.com
Sun Apr 6 14:08:09 CEST 2014


kdkkdd

发自我的 iPad

在 2014-3-30,18:56,Joe Stevens <jgsteven at yahoo.com> 写道:

> Martin, Jason, and Steven,
> 
> Thanks for your responses.  Per Martin's comment I tested with the MSVC 2013 update 2 CTP and was able to compile x264 with only his patches.  Note that in my original test both binaries that I ran the test with were x86/32 bit builds using with the same configure command and that the gcc build was the exact same code as the MSVC one (e.g., it had the MSVC patches applied as described in my previous email in order to make it an apples-to-apples comparison, the only differences being CC and CFLAGS when configured and built).
> 
> I did some
>  additional testing, and wanted to post a few additional numbers.  These tests were done with power management off, a high definition input file (an ATSC capture), and the output file set to NUL and got the following results for average FPS across 6 runs of the encode.
> 
> 32bit GCC with inline ASM:  1.38 FPS
> 32bit GCC without inline ASM: 1.34 FPS
> 32bit MSVC 2013 Update 1 with both sets of patches: 1.27 FPS
> 32bit MSVC 2013 Update 2 CTP with only Martin's patches: 1.25 FPS
> 64bit MSVC 10`2 Update 2 CTP with only Martin's patches: 1.40 FPS
> 
> So my conclusion is that MSVC is slightly slower but that this difference basically goes away when using a 64 bit build (I didn't have a GCC 64 bit build environment to test with unfortunately).  It also appears that inline ASM accounts for only part of the difference meaning that at least for 32 bit code GCC's compiler optimization must be a little bit
>  better (although this is speculation).  Some details of the test are at the end of the mail.
> 
> Regards,
> 
> Joe
> 
> -- TEST DETAILS -- 
> 
> Command: 
> 
> time x264 --quiet --crf 18 --preset veryslow --level 4.1 --profile high --frames
>  150 -o NUL
>  /home/Joseph/test.y4m
> 
> (test.y4m is a 720p clip of random TV from over the air ATSC)
> 
> Test method:  
> 
> Looped around the above command 6 times with a 'sleep 60' between each execution of the command.  Repeated the test for each version of x264 compiled.
> 
> Output (notice there is still
>  significant variation so its hard to say how scientific this test was; should probably do this with a longer input clip or on a better machine than this old testing laptop):
> 
> ** 32 bit with GCC (including inline ASM) **
> 
> encoded 150 frames, 1.46 fps, 2952.85 kb/s
> real    1m42.707s
> user    0m0.000s
> sys     0m0.015s
> encoded 150 frames, 1.42 fps, 2952.85 kb/s
> real    1m45.994s
> user    0m0.000s
> sys     0m0.031s
> encoded 150 frames, 1.36 fps, 2952.85 kb/s
> real    1m50.116s
> user    0m0.015s
> sys     0m0.015s
> encoded 150 frames, 1.40 fps, 2952.85 kb/s
> real    1m47.493s
> user    0m0.015s
> sys     0m0.015s
> encoded 150 frames, 1.35 fps, 2952.85 kb/s
> real    1m51.659s
> user    0m0.015s
> sys     0m0.015s
> encoded 150 frames, 1.31 fps, 2952.85 kb/s
> real    1m54.210s
> user   
>  0m0.000s
> sys     0m0.031s
> 
> ** 32 bit with GCC and HAVE_X86_INLINE_ASM set to 0 **
> 
> encoded 150 frames, 1.34 fps, 2952.85 kb/s
> real    1m52.023s
> user   
>  0m0.015s
> sys     0m0.015s
> encoded 150 frames, 1.31 fps, 2952.85 kb/s
> real    1m54.835s
> user    0m0.000s
> sys     0m0.031s
> encoded 150 frames, 1.32 fps, 2952.85 kb/s
> real    1m53.376s
> user    0m0.000s
> sys     0m0.031s
> encoded 150 frames, 1.36 fps, 2952.85 kb/s
> real    1m50.509s
> user    0m0.031s
> sys     0m0.000s
> encoded 150 frames, 1.34 fps, 2952.85 kb/s
> real    1m51.988s
> user    0m0.000s
> sys     0m0.031s
> encoded 150 frames, 1.35 fps, 2952.85 kb/s
> real    1m51.538s
> user    0m0.015s
> sys     0m0.015s
> 
> ** 32 bit with MSVC 2013 Update 1 **
> 
> encoded 150 frames, 1.27 fps, 2952.85 kb/s
> real    1m58.251s
> user    0m0.015s
> sys     0m0.015s
> encoded 150 frames, 1.28 fps, 2952.85 kb/s
> real    1m57.180s
> user    0m0.031s
> sys     0m0.000s
> encoded 150 frames, 1.24 fps, 2952.85 kb/s
> real    2m0.990s
> user    0m0.015s
> sys     0m0.031s
> encoded 150 frames, 1.26 fps, 2952.85 kb/s
> real    1m58.976s
> user    0m0.000s
> sys     0m0.031s
> encoded 150 frames, 1.28 fps, 2952.85 kb/s
> real    1m57.800s
> user   
>  0m0.015s
> sys     0m0.015s
> encoded 150 frames, 1.27 fps, 2952.85 kb/s
> real    1m57.864s
> user    0m0.015s
> sys     0m0.015s
> 
> ** 32 bit with MSVC 2013 CTP
>  **
> 
> encoded 150 frames, 1.25 fps, 2952.85 kb/s
> real    1m59.830s
> user    0m0.000s
> sys     0m0.031s
> encoded 150 frames, 1.27 fps, 2952.85 kb/s
> real    1m58.422s
> user    0m0.031s
> sys     0m0.000s
> encoded 150 frames, 1.28 fps, 2952.85 kb/s
> real    1m56.982s
> user    0m0.000s
> sys     0m0.031s
> encoded 150 frames, 1.24 fps, 2952.85 kb/s
> real    2m0.888s
> user    0m0.015s
> sys     0m0.015s
> encoded 150 frames, 1.28 fps, 2952.85 kb/s
> real    1m56.954s
> user    0m0.000s
> sys     0m0.031s
> encoded 150 frames, 1.15 fps, 2952.85 kb/s
> real    2m10.682s
> user    0m0.031s
> sys     0m0.000s
> 
> ** 64 bit with MSVC 2013 CTP **
> 
> encoded 150 frames, 1.47 fps, 2952.85 kb/s
> real    1m42.445s
> user    0m0.000s
> sys     0m0.031s
> encoded 150 frames, 1.29 fps, 2952.85 kb/s
> real    1m56.321s
> user    0m0.015s
> sys     0m0.015s
> encoded 150 frames, 1.42 fps, 2952.85 kb/s
> real    1m46.091s
> user    0m0.015s
> sys     0m0.015s
> encoded 150 frames, 1.38 fps, 2952.85 kb/s
> real    1m49.038s
> user    0m0.000s
> sys     0m0.031s
> encoded 150 frames, 1.39 fps, 2952.85 kb/s
> real    1m48.337s
> user    0m0.015s
> sys     0m0.015s
> encoded 150 frames, 1.43 fps, 2952.85 kb/s
> real    1m45.342s
> user    0m0.015s
> sys     0m0.015s
> _______________________________________________
> x264-devel mailing list
> x264-devel at videolan.org
> https://mailman.videolan.org/listinfo/x264-devel
> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/x264-devel/attachments/20140406/250101ed/attachment-0001.html>


More information about the x264-devel mailing list