> On Dec 15, 2019, at 12:35 AM, Carl Eugen Hoyos <ceffm...@gmail.com> wrote: > > Am Sa., 14. Dez. 2019 um 08:28 Uhr schrieb zhilizhao <quinkbl...@foxmail.com>: > >>> On Dec 13, 2019, at 10:00 PM, Paul B Mahol <one...@gmail.com> wrote: >>> >>> Please provide some explanation. >> >> No functional changes, just use temporary variables to make code more >> readable, > >> and may improve a little bit of performance. > > Such a claim needs numbers and / or a testcase.
It may or may not improve performance depends on compiler optimization, and I don’t think such small change can lead to measurable difference. Assemble results on aarch64. Less deferences lead to smaller inner loop, but it doesn’t mean much. Before: .LBB1_11: // Parent Loop BB1_4 Depth=1 // => This Inner Loop Header: Depth=2 //DEBUG_VALUE: filter_frame:i <- 0 //DEBUG_VALUE: dst_w <- $w11 //DEBUG_VALUE: dst_h <- $w25 //DEBUG_VALUE: filter_frame:k <- $x19 //DEBUG_VALUE: filter_frame:out <- $x20 //DEBUG_VALUE: filter_frame:outlink <- $x28 //DEBUG_VALUE: filter_frame:h <- $x22 //DEBUG_VALUE: filter_frame:i <- $w26 .loc 15 272 37 is_stmt 1 // src/libavfilter/vf_histogram.c:272:37 ldr x8, [x23, #48] .loc 15 272 17 is_stmt 0 // src/libavfilter/vf_histogram.c:272:17 ldrb w1, [x27] .loc 15 272 59 // src/libavfilter/vf_histogram.c:272:59 sxtw x10, w26 .loc 15 272 17 // src/libavfilter/vf_histogram.c:272:17 mov x2, x21 .loc 15 272 52 // src/libavfilter/vf_histogram.c:272:52 add x8, x8, x19, lsl #5 ldrsw x8, [x8, #24] .loc 15 272 24 // src/libavfilter/vf_histogram.c:272:24 ldr x9, [x20, x8, lsl #3] .loc 15 273 28 is_stmt 1 // src/libavfilter/vf_histogram.c:273:28 add x8, x20, x8, lsl #2 ldrsw x8, [x8, #64] .loc 15 272 59 // src/libavfilter/vf_histogram.c:272:59 nop madd x0, x8, x10, x9 .loc 15 272 17 is_stmt 0 // src/libavfilter/vf_histogram.c:272:17 bl memset .Ltmp74: .loc 15 271 38 is_stmt 1 // src/libavfilter/vf_histogram.c:271:38 add w26, w26, #1 // =1 .Ltmp75: //DEBUG_VALUE: filter_frame:i <- $w26 .loc 15 271 13 is_stmt 0 // src/libavfilter/vf_histogram.c:271:13 cmp w25, w26 b.ne .LBB1_11 ----------------------------------------------------------------------------------- After: .LBB1_11: // Parent Loop BB1_4 Depth=1 // => This Inner Loop Header: Depth=2 //DEBUG_VALUE: dst_h <- $w29 //DEBUG_VALUE: filter_frame:outlink <- [DW_OP_plus_uconst 16] [$sp+0] //DEBUG_VALUE: filter_frame:i <- 0 //DEBUG_VALUE: data <- $x21 //DEBUG_VALUE: dst_w <- $w9 //DEBUG_VALUE: filter_frame:k <- $x19 //DEBUG_VALUE: filter_frame:out <- $x20 //DEBUG_VALUE: filter_frame:h <- $x23 //DEBUG_VALUE: filter_frame:i <- undef .loc 15 275 17 is_stmt 1 // src/libavfilter/vf_histogram.c:275:17 ldrb w1, [x28] mov x0, x21 mov x2, x22 bl memset .Ltmp79: //DEBUG_VALUE: filter_frame:i <- [DW_OP_plus_uconst 1, DW_OP_stack_value] undef .loc 15 274 27 // src/libavfilter/vf_histogram.c:274:27 subs x29, x29, #1 // =1 .Ltmp80: add x21, x21, x27 .Ltmp81: .loc 15 274 13 is_stmt 0 // src/libavfilter/vf_histogram.c:274:13 b.ne .LBB1_11 > > Carl Eugen > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe". _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".