[Ffmpeg-cvslog] r6586 - in trunk/libavcodec: cabac.c cabac.h h264.c

Baptiste Coudurier baptiste.coudurier
Mon Oct 9 11:43:39 CEST 2006


Hi

Michael Niedermayer wrote:
> Hi
> 
> On Mon, Oct 09, 2006 at 02:52:48AM +0300, Uoti Urpala wrote:
>> On Mon, 2006-10-09 at 01:19 +0200, Michael Niedermayer wrote:
>>>> On Athlon the C version "*state= c->mps_state[s];" (without the other
>>>> redundant C there) is faster than the asm. The difference is small,
>>>> around 0.3%, but the times do seem consistent.
>>> with START/STOP_TIMER? without it such small differences are meaningless
>>> IMO, they could be caused by arrays or functions ending up at slightly
>>> more favorable addresses or such aka systematic error
>> Without. It certainly could be some such "random effect". However I
>> think the results from START/STOP_TIMER would be an even less reliable
>> indicator when comparing which version would be "better in general". The
> 
> if i want to
> optimize X i need to know if X is faster, not if Y from which X is <10%
> is faster, especially if my only way to benchmark Y is very timeconsuming
> and inaccurate while i can benchmark X very accurately
> 
> and yes, code and data size do matter and their effects could make X faster
> while Y would get slower, but if code and data size doesnt increase then this
> also doesnt happen and no overall benchmark is needed
> 
> also i would suggest that you move this benchmarking disscussion elsewhere
> its offtopic here, what would have been on topic where benchmarking
> scores from START/STOP_TIMER from athlon&p4 ...

On p4 2.4ghz
http://samples.mplayerhq.hu/V-codecs/AVC1/NeroRecode_STD_AVC_(ateme1022).mp4

Best values I could get on 50 runs

asm:
1227 dezicycles in get_cabac, 33553421 runs, 1011 skips

C with both lines
1190 dezicycles in get_cabac, 33553566 runs, 866 skips

C with only '*state= c->mps_state[s];'
1167 dezicycles in get_cabac, 33553619 runs, 813 skips

C with only 's+=2...'
1213 dezicycles in get_cabac, 33553366 runs, 1066 skips

-- 
Baptiste COUDURIER                              GnuPG Key Id: 0x5C1ABAAA
SMARTJOG S.A.                                    http://www.smartjog.com
Key fingerprint                 8D77134D20CC9220201FC5DB0AC9325C5C1ABAAA
Phone: +33 1 49966312




More information about the ffmpeg-cvslog mailing list