Skip to content

Instantly share code, notes, and snippets.

@Megawats777
Created April 9, 2020 00:54
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Megawats777/171d81b7e9a907002d3418b36a446d71 to your computer and use it in GitHub Desktop.
Save Megawats777/171d81b7e9a907002d3418b36a446d71 to your computer and use it in GitHub Desktop.
FedoraVmProfileResults-01
Same use case of decode a 1080p video 1000 times.
This was done using the "Perf" tool
Compiler settings
- opt level: -Og
- -g
------------------------------------------------------------------
Run #1:
Expensive Functions:
11.13% h264dec libc-2.30.so [.] __memset_sse2_unaligned_erms
9.87% h264dec h264dec [.] WelsDec::DecodeCurrentAccessUnit
6.12% h264dec h264dec [.] WelsDec::ParseSliceHeaderSyntaxs
5.13% h264dec h264dec [.] WelsDec::CavlcGetLevelVal
__memset_sse2_unaligned_erms - Expensive Lines
20.74 97: movdqa %xmm0, (%rcx)
66.74 movdqa %xmm0, 0x10(%rcx)
8.09 movdqa %xmm0, 0x30(%rcx)
WelsDec::DecodeCurrentAccessUnit - Expensive Lines
30.02 rep movsq %ds:(%rsi),%es:(%rdi)
0.92 mov %r8,0x1500(%r12)
1.12 mov 0x894(%r14),%ecx
WelsDec::ParseSliceHeaderSyntaxs - Expensive Lines
40.30 rep stos %rax,%es:(%rdi)
1.06 mov %r10b, 0x1321(%rbp)
WelsDec::CavlcGetLevelVal - Expensive Lines
lea WelsDec::g_kuiPrefix8BitsTable,%r12
2.98 mov %ecx,%eax
4.89 ->jg 444e14 <WelsDec::CavlcGetLevelValPint *, WelsDec::TagReadBitsCache*, unsigned char, unsigned char)+0x294>
------------------------------------------------------------------
Run #2:
Expensive Functions:
11.45% h264dec libc-2.30.so [.] __memset_sse2_unaligned_erms
9.83% h264dec h264dec [.] WelsDec::DecodeCurrentAccessUnit
6.13% h264dec h264dec [.] WelsDec::ParseSliceHeaderSyntaxs
5.07% h264dec h264dec [.] WelsDec::CavlcGetLevelVal
__memset_sse2_unaligned_erms - Expensive Lines
20.07 movdqa %xmm0,(%rcx)
67.03 movdqa %xmm0,0x10(%rcx)
8.64 movdqa %xmm0,0x30(%rcx)
WelsDec::DecodeCurrentAccessUnit - Expensive Lines
28.56 rep movsq %ds:(%rsi),%es:(%rdi)
29.72 rep movsq %ds:(%rsi),%es:(%rdi)
26.80 rep stos %rax,%es:(%rdi)
WelsDec::ParseSliceHeaderSyntaxs - Expensive Lines
39.73 rep stos %rax,%es:(%rdi)
9.78 rep movsq %ds:(%rsi),%es:(%rdi)
WelsDec::CavlcGetLevelVal - Expensive Lines
3.44 add $0x2,%rcx
2.85 mov %ecx,%eax
4.80 ->jg 444e14 <WelsDec::CavlcGetLevelVal(int*, WelsDec::TagReadBitsCache*, unsigned char, unsigned char)+0x284>
4.54 xor %fs:0x28,%rax
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment