JakeDern commented on PR #10128:
URL: https://github.com/apache/arrow-rs/pull/10128#issuecomment-5405831613
The first machine I had turned out not to consistently reproduce the problem
and the profiles there didn't show any obvious difference either. I think it's
because I had a slightly different processor model (Neoverse-V3), so I spun up
a different one with a Neoverse-V2 and now I can consistently reproduce the
issue we see with adriangbot basically down to the microsecond.
Perf diff shows this and I'm like 99% sure `__aarch64_ldadd8_rel` is related
to dropping Arcs, but I still can't quite spot where this PR is doing more Arc
cloning/dropping on the non-dictionary path compared to main.
```
Event 'task-clock:ppp'
#
# Baseline Delta Abs Shared Object Symbol
>
# ........ ......... ...........................
.................................................................>
#
2.20% +4.34% ipc_writer-d05199adc498efdb [.] __aarch64_ldadd8_rel
77.96% -3.40% libc.so.6 [.] __memcpy_sve
1.43% +0.36% ipc_writer-d05199adc498efdb [.]
_RINvNtNtNtNtCsfo0Ls1ZyrQZ_4core5slice4sort6shared9smallsort1>
0.34% -0.32% ipc_writer-d05199adc498efdb [.]
_RINvNtCsfo0Ls1ZyrQZ_4core3ptr9drop_glueINtNtCsi2GJixwxVUa_5a>
1.47% -0.32% libc.so.6 [.] malloc
1.30% -0.23% libc.so.6 [.] cfree@GLIBC_2.17
0.45% +0.23% ipc_writer-d05199adc498efdb [.]
_RNvXs3_NtCs3zMkVNhoeBQ_9arrow_ipc6writerQINtNtCsi2GJixwxVUa_>
0.92% +0.22% ipc_writer-d05199adc498efdb [.]
_RINvNtNtNtNtCsfo0Ls1ZyrQZ_4core5slice4sort8unstable9quicksor>
+0.20% ipc_writer-d05199adc498efdb [.]
_RINvMs8_NtCs3zMkVNhoeBQ_9arrow_ipc6writerNtB6_16IpcDataGener>
0.59% +0.18% ipc_writer-d05199adc498efdb [.]
_RNvMNtNtNtCsa1BE3BhZqoi_9criterion5stats10univariate9resampl>
+0.16% ipc_writer-d05199adc498efdb [.]
_RNvMs4_NtCsi2GJixwxVUa_5alloc7raw_vecNtB5_11RawVecInner11fin>
0.60% -0.15% ipc_writer-d05199adc498efdb [.]
_RNvMs3_NtCsgFIud6Wzcfh_11flatbuffers7builderNtB5_17FlatBuffe>
0.28% +0.14% ipc_writer-d05199adc498efdb [.]
_RNvMs8_NtCs3zMkVNhoeBQ_9arrow_ipc6writerNtB5_16IpcDataGenera
```
@Rich-T-kid @alamb Let me know if y'all have any ideas. I did try to produce
a callgraph to see if I could get the specific callers, but I could not get an
unbroken chain all the way to Arc for the life of me despite also trying to
compile with nightly `-Z build-std`.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]