Skip to content

arc: improve codegen of drop - #162178

Open
ruriww wants to merge 3 commits into
rust-lang:mainfrom
ruriww:main
Open

arc: improve codegen of drop#162178
ruriww wants to merge 3 commits into
rust-lang:mainfrom
ruriww:main

Conversation

@ruriww

@ruriww ruriww commented Sep 2, 2026

Copy link
Copy Markdown

Now that cold_path is properly implemented and stable, use it so that the hot path of Arc::drop is smaller. Also move the fence into drop_slow, which preserves the correct behavior and moving an actual instruction on arches like riscv to the outlined path.

This is an optimization in a similar spirit to -O3, improving performance on the hot path (decrease in cycles) at the cost of increasing overall code size (higher instruction count).

@rustbot rustbot added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. T-libs Relevant to the library team, which will review and decide on the PR/issue. labels Sep 2, 2026
@ruriww

ruriww commented Sep 2, 2026

Copy link
Copy Markdown
Author
pub fn drop_it_like_its_hot(_: Arc<()>) {}
 	sd	a0, 0(sp)
 	amoadd.d.rl	a0, a1, (a0)
 	li	a1, 1
-	bne	a0, a1, .LBB6_2
-	fence	r, rw
+	beq	a0, a1, .LBB6_2
+	ld	ra, 8(sp)
+	addi	sp, sp, 16
+	ret
+.LBB6_2:
 	mv	a0, sp
 	call	Arc::drop_slow
-.LBB6_2:
 	ld	ra, 8(sp)
 	addi	sp, sp, 16
 	ret

@ruriww
ruriww marked this pull request as ready for review September 2, 2026 11:03
@rustbot rustbot added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Sep 2, 2026
@rustbot rustbot removed the S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. label Sep 2, 2026
@rustbot

rustbot commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator

Thanks for the pull request, and welcome! The Rust Project has assigned @Mark-Simulacrum (or someone else) to review your changes, you should hear from them (or someone else) within the next two weeks.

Please see the contribution instructions and our LLM policy for more information.

Why was this reviewer chosen?

The reviewer was selected based on:

  • Owners of files modified in this PR: libs
  • libs expanded to 12 candidates
  • Random selection from JohnTitor, Mark-Simulacrum, clarfonthey

@Kobzol

Kobzol commented Sep 2, 2026

Copy link
Copy Markdown
Member

@bors try @rust-timer queue

@rust-timer

This comment has been minimized.

@rustbot rustbot added the S-waiting-on-perf Status: Waiting on a perf run to be completed. label Sep 2, 2026
@rust-bors

This comment has been minimized.

rust-bors Bot pushed a commit that referenced this pull request Sep 2, 2026
arc: improve codegen of drop
@rust-bors

rust-bors Bot commented Sep 2, 2026

Copy link
Copy Markdown
Contributor

☀️ Try build successful (CI)
Build commit: 7aa9fe8 (7aa9fe8c23689bedc5cb35a311d46262349ee5f5)
Base parent: 59dabe5 (59dabe56f7b78d9dd427645cd7f8e7fd426724cc)

@rust-timer

This comment has been minimized.

@rust-timer

Copy link
Copy Markdown
Collaborator

Finished benchmarking commit (7aa9fe8): comparison URL.

Overall result: ❌✅ regressions and improvements - BENCHMARK(S) FAILED

Benchmarking means the PR may be perf-sensitive. It's automatically marked not fit for rolling up. Overriding is possible but disadvised: it risks changing compiler perf.

Next, please: If you can, justify the regressions found in this try perf run in writing along with @rustbot label: +perf-regression-triaged. If not, fix the regressions and do another perf run. Neutral or positive results will clear the label automatically.

@bors rollup=never rustc-perf
@rustbot label: -S-waiting-on-perf +perf-regression

❗ ❗ ❗ ❗ ❗
Warning ⚠️: The following benchmark(s) failed to build:

  • Job failure

❗ ❗ ❗ ❗ ❗

Instruction count

Our most reliable metric. Used to determine the overall result above. However, even this metric can be noisy.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
0.4% [0.2%, 0.5%] 11
Improvements ✅
(primary)
-0.5% [-0.5%, -0.5%] 2
Improvements ✅
(secondary)
-0.5% [-0.5%, -0.5%] 1
All ❌✅ (primary) -0.5% [-0.5%, -0.5%] 2

Max RSS (memory usage)

Results (primary -1.3%, secondary -3.4%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
2.8% [1.7%, 3.9%] 2
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-4.0% [-6.2%, -2.4%] 3
Improvements ✅
(secondary)
-3.4% [-3.7%, -3.0%] 2
All ❌✅ (primary) -1.3% [-6.2%, 3.9%] 5

Cycles

Results (primary -2.5%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
- - 0
Regressions ❌
(secondary)
- - 0
Improvements ✅
(primary)
-2.5% [-2.8%, -2.3%] 2
Improvements ✅
(secondary)
- - 0
All ❌✅ (primary) -2.5% [-2.8%, -2.3%] 2

Binary size

Results (primary 0.2%, secondary -0.6%)

A less reliable metric. May be of interest, but not used to determine the overall result above.

mean range count
Regressions ❌
(primary)
0.3% [0.0%, 0.8%] 16
Regressions ❌
(secondary)
0.1% [0.1%, 0.1%] 1
Improvements ✅
(primary)
-0.0% [-0.1%, -0.0%] 5
Improvements ✅
(secondary)
-0.9% [-1.7%, -0.0%] 2
All ❌✅ (primary) 0.2% [-0.1%, 0.8%] 21

Bootstrap: missing data
Artifact size: 400.83 MiB -> 400.77 MiB (-0.01%)

@rustbot rustbot added perf-regression Performance regression. and removed S-waiting-on-perf Status: Waiting on a perf run to be completed. labels Sep 2, 2026
@ruriww

ruriww commented Sep 2, 2026

Copy link
Copy Markdown
Author

BENCHMARK(S) FAILED

Is this something I have to take care of? The instruction regression makes sense, it's demonstrated in the diff snippet I showed above.

@Kobzol

Kobzol commented Sep 2, 2026

Copy link
Copy Markdown
Member

No, you can ignore that, we have some intermittent trouble with git, sorry.

Comment thread library/alloc/src/sync.rs Outdated
Comment on lines +2970 to +2971
// This function was moved locally since there is only one caller,
// and makes it easier to reason about the the outlined fence.

@vilgotf vilgotf Sep 3, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Drive-by review: this code comment looks like a commit message. I don't think it holds value by itself.

View changes since the review

@panstromek

Copy link
Copy Markdown
Contributor

tt-muncher regressions are probably real. It's a macro stress test and macro expansion uses Arc quite a bit.

@ruriww

ruriww commented Sep 3, 2026

Copy link
Copy Markdown
Author

tt-muncher regressions are probably real. It's a macro stress test and macro expansion uses Arc quite a bit.

I'm pretty certain this is caused by the cold_path addition. The move of the acquire line into drop_slow should be universally better though. Though I am curious to see how this holds up in user code. The branch hint could be worth keeping if it ends up being a net improvement. I guess the user benchmarks would be the runtime category, I wasn't quite familiar with the CI testing.

@rust-log-analyzer

Copy link
Copy Markdown
Collaborator

The job x86_64-gnu-tools failed! Check out the build log: (web) (plain enhanced) (plain)

Click to see the possible cause of the failure (guessed by this bot)
100  177M  100  177M    0     0   213M      0 --:--:-- --:--:-- --:--:--  212M
#12 DONE 1.1s

#13 [ 7/10] RUN unzip -d /usr/bin/ chrome-linux64.zip && rm chrome-linux64.zip
#13 0.039 Archive:  chrome-linux64.zip
#13 0.040   inflating: /usr/bin/chrome-linux64/ABOUT  
#13 0.040   inflating: /usr/bin/chrome-linux64/MEIPreload/manifest.json  
#13 0.040   inflating: /usr/bin/chrome-linux64/MEIPreload/preloaded_data.pb  
#13 0.040   inflating: /usr/bin/chrome-linux64/PrivacySandboxAttestationsPreloaded/manifest.json  
#13 0.040   inflating: /usr/bin/chrome-linux64/PrivacySandboxAttestationsPreloaded/privacy-sandbox-attestations.dat  
#13 0.041   inflating: /usr/bin/chrome-linux64/WidevineCdm/LICENSE  
#13 0.041   inflating: /usr/bin/chrome-linux64/WidevineCdm/_platform_specific/linux_x64/libwidevinecdm.so  
#13 0.171   inflating: /usr/bin/chrome-linux64/WidevineCdm/manifest.json  
#13 0.171   inflating: /usr/bin/chrome-linux64/chrome  
#13 2.408   inflating: /usr/bin/chrome-linux64/chrome-wrapper  
#13 2.408   inflating: /usr/bin/chrome-linux64/chrome_100_percent.pak  
#13 2.414   inflating: /usr/bin/chrome-linux64/chrome_200_percent.pak  
#13 2.422   inflating: /usr/bin/chrome-linux64/chrome_crashpad_handler  
#13 2.439   inflating: /usr/bin/chrome-linux64/chrome_sandbox  
#13 2.439   inflating: /usr/bin/chrome-linux64/deb.deps  
#13 2.439   inflating: /usr/bin/chrome-linux64/icudtl.dat  
#13 2.520   inflating: /usr/bin/chrome-linux64/libEGL.so  
#13 2.523   inflating: /usr/bin/chrome-linux64/libGLESv2.so  
#13 2.573   inflating: /usr/bin/chrome-linux64/libvk_swiftshader.so  
#13 2.611   inflating: /usr/bin/chrome-linux64/libvulkan.so.1  
#13 2.616   inflating: /usr/bin/chrome-linux64/locales/af.pak  
#13 2.621   inflating: /usr/bin/chrome-linux64/locales/af_FEMININE.pak  
#13 2.621   inflating: /usr/bin/chrome-linux64/locales/af_MASCULINE.pak  
#13 2.621   inflating: /usr/bin/chrome-linux64/locales/af_NEUTER.pak  
#13 2.621   inflating: /usr/bin/chrome-linux64/locales/am.pak  
#13 2.629   inflating: /usr/bin/chrome-linux64/locales/am_FEMININE.pak  
#13 2.629   inflating: /usr/bin/chrome-linux64/locales/am_MASCULINE.pak  
#13 2.629   inflating: /usr/bin/chrome-linux64/locales/am_NEUTER.pak  
#13 2.629   inflating: /usr/bin/chrome-linux64/locales/ar.pak  
#13 2.636   inflating: /usr/bin/chrome-linux64/locales/ar_FEMININE.pak  
#13 2.636   inflating: /usr/bin/chrome-linux64/locales/ar_MASCULINE.pak  
#13 2.636   inflating: /usr/bin/chrome-linux64/locales/ar_NEUTER.pak  
#13 2.636   inflating: /usr/bin/chrome-linux64/locales/bg.pak  
#13 2.644   inflating: /usr/bin/chrome-linux64/locales/bg_FEMININE.pak  
#13 2.644   inflating: /usr/bin/chrome-linux64/locales/bg_MASCULINE.pak  
#13 2.644   inflating: /usr/bin/chrome-linux64/locales/bg_NEUTER.pak  
#13 2.644   inflating: /usr/bin/chrome-linux64/locales/bn.pak  
#13 2.654   inflating: /usr/bin/chrome-linux64/locales/bn_FEMININE.pak  
#13 2.654   inflating: /usr/bin/chrome-linux64/locales/bn_MASCULINE.pak  
#13 2.654   inflating: /usr/bin/chrome-linux64/locales/bn_NEUTER.pak  
#13 2.654   inflating: /usr/bin/chrome-linux64/locales/ca.pak  
#13 2.659   inflating: /usr/bin/chrome-linux64/locales/ca_FEMININE.pak  
#13 2.659   inflating: /usr/bin/chrome-linux64/locales/ca_MASCULINE.pak  
#13 2.659   inflating: /usr/bin/chrome-linux64/locales/ca_NEUTER.pak  
#13 2.659   inflating: /usr/bin/chrome-linux64/locales/cs.pak  
#13 2.665   inflating: /usr/bin/chrome-linux64/locales/cs_FEMININE.pak  
#13 2.665   inflating: /usr/bin/chrome-linux64/locales/cs_MASCULINE.pak  
#13 2.665   inflating: /usr/bin/chrome-linux64/locales/cs_NEUTER.pak  
#13 2.665   inflating: /usr/bin/chrome-linux64/locales/da.pak  
#13 2.670   inflating: /usr/bin/chrome-linux64/locales/da_FEMININE.pak  
#13 2.670   inflating: /usr/bin/chrome-linux64/locales/da_MASCULINE.pak  
#13 2.670   inflating: /usr/bin/chrome-linux64/locales/da_NEUTER.pak  
#13 2.670   inflating: /usr/bin/chrome-linux64/locales/de.pak  
#13 2.675   inflating: /usr/bin/chrome-linux64/locales/de_FEMININE.pak  
#13 2.675   inflating: /usr/bin/chrome-linux64/locales/de_MASCULINE.pak  
#13 2.675   inflating: /usr/bin/chrome-linux64/locales/de_NEUTER.pak  
#13 2.675   inflating: /usr/bin/chrome-linux64/locales/el.pak  
#13 2.683   inflating: /usr/bin/chrome-linux64/locales/el_FEMININE.pak  
#13 2.683   inflating: /usr/bin/chrome-linux64/locales/el_MASCULINE.pak  
#13 2.684   inflating: /usr/bin/chrome-linux64/locales/el_NEUTER.pak  
#13 2.684   inflating: /usr/bin/chrome-linux64/locales/en-GB.pak  
#13 2.688   inflating: /usr/bin/chrome-linux64/locales/en-GB_FEMININE.pak  
#13 2.688   inflating: /usr/bin/chrome-linux64/locales/en-GB_MASCULINE.pak  
#13 2.688   inflating: /usr/bin/chrome-linux64/locales/en-GB_NEUTER.pak  
#13 2.688   inflating: /usr/bin/chrome-linux64/locales/en-US.pak  
#13 2.693   inflating: /usr/bin/chrome-linux64/locales/en-US_FEMININE.pak  
#13 2.693   inflating: /usr/bin/chrome-linux64/locales/en-US_MASCULINE.pak  
#13 2.693   inflating: /usr/bin/chrome-linux64/locales/en-US_NEUTER.pak  
#13 2.693   inflating: /usr/bin/chrome-linux64/locales/es-419.pak  
#13 2.698   inflating: /usr/bin/chrome-linux64/locales/es-419_FEMININE.pak  
#13 2.698   inflating: /usr/bin/chrome-linux64/locales/es-419_MASCULINE.pak  
#13 2.698   inflating: /usr/bin/chrome-linux64/locales/es-419_NEUTER.pak  
#13 2.698   inflating: /usr/bin/chrome-linux64/locales/es.pak  
#13 2.703   inflating: /usr/bin/chrome-linux64/locales/es_FEMININE.pak  
#13 2.705   inflating: /usr/bin/chrome-linux64/locales/es_MASCULINE.pak  
#13 2.705   inflating: /usr/bin/chrome-linux64/locales/es_NEUTER.pak  
#13 2.705   inflating: /usr/bin/chrome-linux64/locales/et.pak  
#13 2.708   inflating: /usr/bin/chrome-linux64/locales/et_FEMININE.pak  
#13 2.708   inflating: /usr/bin/chrome-linux64/locales/et_MASCULINE.pak  
#13 2.708   inflating: /usr/bin/chrome-linux64/locales/et_NEUTER.pak  
#13 2.708   inflating: /usr/bin/chrome-linux64/locales/fa.pak  
#13 2.715   inflating: /usr/bin/chrome-linux64/locales/fa_FEMININE.pak  
#13 2.716   inflating: /usr/bin/chrome-linux64/locales/fa_MASCULINE.pak  
#13 2.716   inflating: /usr/bin/chrome-linux64/locales/fa_NEUTER.pak  
#13 2.716   inflating: /usr/bin/chrome-linux64/locales/fi.pak  
#13 2.721   inflating: /usr/bin/chrome-linux64/locales/fi_FEMININE.pak  
#13 2.721   inflating: /usr/bin/chrome-linux64/locales/fi_MASCULINE.pak  
#13 2.721   inflating: /usr/bin/chrome-linux64/locales/fi_NEUTER.pak  
#13 2.721   inflating: /usr/bin/chrome-linux64/locales/fil.pak  
#13 2.726   inflating: /usr/bin/chrome-linux64/locales/fil_FEMININE.pak  
#13 2.726   inflating: /usr/bin/chrome-linux64/locales/fil_MASCULINE.pak  
#13 2.726   inflating: /usr/bin/chrome-linux64/locales/fil_NEUTER.pak  
#13 2.726   inflating: /usr/bin/chrome-linux64/locales/fr.pak  
#13 2.732   inflating: /usr/bin/chrome-linux64/locales/fr_FEMININE.pak  
#13 2.732   inflating: /usr/bin/chrome-linux64/locales/fr_MASCULINE.pak  
#13 2.732   inflating: /usr/bin/chrome-linux64/locales/fr_NEUTER.pak  
#13 2.732   inflating: /usr/bin/chrome-linux64/locales/gu.pak  
#13 2.741   inflating: /usr/bin/chrome-linux64/locales/gu_FEMININE.pak  
#13 2.741   inflating: /usr/bin/chrome-linux64/locales/gu_MASCULINE.pak  
#13 2.741   inflating: /usr/bin/chrome-linux64/locales/gu_NEUTER.pak  
#13 2.741   inflating: /usr/bin/chrome-linux64/locales/he.pak  
#13 2.748   inflating: /usr/bin/chrome-linux64/locales/he_FEMININE.pak  
#13 2.748   inflating: /usr/bin/chrome-linux64/locales/he_MASCULINE.pak  
#13 2.748   inflating: /usr/bin/chrome-linux64/locales/he_NEUTER.pak  
#13 2.748   inflating: /usr/bin/chrome-linux64/locales/hi.pak  
#13 2.758   inflating: /usr/bin/chrome-linux64/locales/hi_FEMININE.pak  
#13 2.758   inflating: /usr/bin/chrome-linux64/locales/hi_MASCULINE.pak  
#13 2.758   inflating: /usr/bin/chrome-linux64/locales/hi_NEUTER.pak  
#13 2.758   inflating: /usr/bin/chrome-linux64/locales/hr.pak  
#13 2.763   inflating: /usr/bin/chrome-linux64/locales/hr_FEMININE.pak  
#13 2.763   inflating: /usr/bin/chrome-linux64/locales/hr_MASCULINE.pak  
#13 2.763   inflating: /usr/bin/chrome-linux64/locales/hr_NEUTER.pak  
#13 2.764   inflating: /usr/bin/chrome-linux64/locales/hu.pak  
#13 2.769   inflating: /usr/bin/chrome-linux64/locales/hu_FEMININE.pak  
#13 2.769   inflating: /usr/bin/chrome-linux64/locales/hu_MASCULINE.pak  
#13 2.769   inflating: /usr/bin/chrome-linux64/locales/hu_NEUTER.pak  
#13 2.769   inflating: /usr/bin/chrome-linux64/locales/id.pak  
#13 2.774   inflating: /usr/bin/chrome-linux64/locales/id_FEMININE.pak  
#13 2.774   inflating: /usr/bin/chrome-linux64/locales/id_MASCULINE.pak  
#13 2.774   inflating: /usr/bin/chrome-linux64/locales/id_NEUTER.pak  
#13 2.774   inflating: /usr/bin/chrome-linux64/locales/it.pak  
#13 2.779   inflating: /usr/bin/chrome-linux64/locales/it_FEMININE.pak  
#13 2.779   inflating: /usr/bin/chrome-linux64/locales/it_MASCULINE.pak  
#13 2.779   inflating: /usr/bin/chrome-linux64/locales/it_NEUTER.pak  
#13 2.780   inflating: /usr/bin/chrome-linux64/locales/ja.pak  
#13 2.785   inflating: /usr/bin/chrome-linux64/locales/ja_FEMININE.pak  
#13 2.785   inflating: /usr/bin/chrome-linux64/locales/ja_MASCULINE.pak  
#13 2.785   inflating: /usr/bin/chrome-linux64/locales/ja_NEUTER.pak  
#13 2.786   inflating: /usr/bin/chrome-linux64/locales/kn.pak  
#13 2.796   inflating: /usr/bin/chrome-linux64/locales/kn_FEMININE.pak  
#13 2.796   inflating: /usr/bin/chrome-linux64/locales/kn_MASCULINE.pak  
#13 2.796   inflating: /usr/bin/chrome-linux64/locales/kn_NEUTER.pak  
#13 2.796   inflating: /usr/bin/chrome-linux64/locales/ko.pak  
#13 2.801   inflating: /usr/bin/chrome-linux64/locales/ko_FEMININE.pak  
#13 2.801   inflating: /usr/bin/chrome-linux64/locales/ko_MASCULINE.pak  
#13 2.801   inflating: /usr/bin/chrome-linux64/locales/ko_NEUTER.pak  
#13 2.801   inflating: /usr/bin/chrome-linux64/locales/lt.pak  
#13 2.807   inflating: /usr/bin/chrome-linux64/locales/lt_FEMININE.pak  
#13 2.807   inflating: /usr/bin/chrome-linux64/locales/lt_MASCULINE.pak  
#13 2.807   inflating: /usr/bin/chrome-linux64/locales/lt_NEUTER.pak  
#13 2.807   inflating: /usr/bin/chrome-linux64/locales/lv.pak  
#13 2.812   inflating: /usr/bin/chrome-linux64/locales/lv_FEMININE.pak  
#13 2.812   inflating: /usr/bin/chrome-linux64/locales/lv_MASCULINE.pak  
#13 2.812   inflating: /usr/bin/chrome-linux64/locales/lv_NEUTER.pak  
#13 2.813   inflating: /usr/bin/chrome-linux64/locales/ml.pak  
#13 2.823   inflating: /usr/bin/chrome-linux64/locales/ml_FEMININE.pak  
#13 2.823   inflating: /usr/bin/chrome-linux64/locales/ml_MASCULINE.pak  
#13 2.823   inflating: /usr/bin/chrome-linux64/locales/ml_NEUTER.pak  
#13 2.823   inflating: /usr/bin/chrome-linux64/locales/mr.pak  
#13 2.833   inflating: /usr/bin/chrome-linux64/locales/mr_FEMININE.pak  
#13 2.833   inflating: /usr/bin/chrome-linux64/locales/mr_MASCULINE.pak  
#13 2.833   inflating: /usr/bin/chrome-linux64/locales/mr_NEUTER.pak  
#13 2.833   inflating: /usr/bin/chrome-linux64/locales/ms.pak  
#13 2.838   inflating: /usr/bin/chrome-linux64/locales/ms_FEMININE.pak  
#13 2.838   inflating: /usr/bin/chrome-linux64/locales/ms_MASCULINE.pak  
#13 2.838   inflating: /usr/bin/chrome-linux64/locales/ms_NEUTER.pak  
#13 2.838   inflating: /usr/bin/chrome-linux64/locales/nb.pak  
#13 2.842   inflating: /usr/bin/chrome-linux64/locales/nb_FEMININE.pak  
#13 2.842   inflating: /usr/bin/chrome-linux64/locales/nb_MASCULINE.pak  
#13 2.843   inflating: /usr/bin/chrome-linux64/locales/nb_NEUTER.pak  
#13 2.843   inflating: /usr/bin/chrome-linux64/locales/nl.pak  
#13 2.847   inflating: /usr/bin/chrome-linux64/locales/nl_FEMININE.pak  
#13 2.847   inflating: /usr/bin/chrome-linux64/locales/nl_MASCULINE.pak  
#13 2.848   inflating: /usr/bin/chrome-linux64/locales/nl_NEUTER.pak  
#13 2.848   inflating: /usr/bin/chrome-linux64/locales/pl.pak  
#13 2.853   inflating: /usr/bin/chrome-linux64/locales/pl_FEMININE.pak  
#13 2.853   inflating: /usr/bin/chrome-linux64/locales/pl_MASCULINE.pak  
#13 2.853   inflating: /usr/bin/chrome-linux64/locales/pl_NEUTER.pak  
#13 2.853   inflating: /usr/bin/chrome-linux64/locales/pt-BR.pak  
#13 2.858   inflating: /usr/bin/chrome-linux64/locales/pt-BR_FEMININE.pak  
#13 2.859   inflating: /usr/bin/chrome-linux64/locales/pt-BR_MASCULINE.pak  
#13 2.859   inflating: /usr/bin/chrome-linux64/locales/pt-BR_NEUTER.pak  
#13 2.859   inflating: /usr/bin/chrome-linux64/locales/pt-PT.pak  
#13 2.864   inflating: /usr/bin/chrome-linux64/locales/pt-PT_FEMININE.pak  
#13 2.864   inflating: /usr/bin/chrome-linux64/locales/pt-PT_MASCULINE.pak  
#13 2.864   inflating: /usr/bin/chrome-linux64/locales/pt-PT_NEUTER.pak  
#13 2.864   inflating: /usr/bin/chrome-linux64/locales/ro.pak  
#13 2.869   inflating: /usr/bin/chrome-linux64/locales/ro_FEMININE.pak  
#13 2.869   inflating: /usr/bin/chrome-linux64/locales/ro_MASCULINE.pak  
#13 2.869   inflating: /usr/bin/chrome-linux64/locales/ro_NEUTER.pak  
#13 2.869   inflating: /usr/bin/chrome-linux64/locales/ru.pak  
#13 2.877   inflating: /usr/bin/chrome-linux64/locales/ru_FEMININE.pak  
#13 2.877   inflating: /usr/bin/chrome-linux64/locales/ru_MASCULINE.pak  
#13 2.877   inflating: /usr/bin/chrome-linux64/locales/ru_NEUTER.pak  
#13 2.877   inflating: /usr/bin/chrome-linux64/locales/sk.pak  
#13 2.883   inflating: /usr/bin/chrome-linux64/locales/sk_FEMININE.pak  
#13 2.883   inflating: /usr/bin/chrome-linux64/locales/sk_MASCULINE.pak  
#13 2.883   inflating: /usr/bin/chrome-linux64/locales/sk_NEUTER.pak  
#13 2.883   inflating: /usr/bin/chrome-linux64/locales/sl.pak  
#13 2.888   inflating: /usr/bin/chrome-linux64/locales/sl_FEMININE.pak  
#13 2.888   inflating: /usr/bin/chrome-linux64/locales/sl_MASCULINE.pak  
#13 2.888   inflating: /usr/bin/chrome-linux64/locales/sl_NEUTER.pak  
#13 2.888   inflating: /usr/bin/chrome-linux64/locales/sr.pak  
#13 2.896   inflating: /usr/bin/chrome-linux64/locales/sr_FEMININE.pak  
#13 2.896   inflating: /usr/bin/chrome-linux64/locales/sr_MASCULINE.pak  
#13 2.896   inflating: /usr/bin/chrome-linux64/locales/sr_NEUTER.pak  
#13 2.896   inflating: /usr/bin/chrome-linux64/locales/sv.pak  
#13 2.901   inflating: /usr/bin/chrome-linux64/locales/sv_FEMININE.pak  
#13 2.901   inflating: /usr/bin/chrome-linux64/locales/sv_MASCULINE.pak  
#13 2.901   inflating: /usr/bin/chrome-linux64/locales/sv_NEUTER.pak  
#13 2.901   inflating: /usr/bin/chrome-linux64/locales/sw.pak  
#13 2.906   inflating: /usr/bin/chrome-linux64/locales/sw_FEMININE.pak  
#13 2.906   inflating: /usr/bin/chrome-linux64/locales/sw_MASCULINE.pak  
#13 2.906   inflating: /usr/bin/chrome-linux64/locales/sw_NEUTER.pak  
#13 2.906   inflating: /usr/bin/chrome-linux64/locales/ta.pak  
#13 2.917   inflating: /usr/bin/chrome-linux64/locales/ta_FEMININE.pak  
#13 2.917   inflating: /usr/bin/chrome-linux64/locales/ta_MASCULINE.pak  
#13 2.917   inflating: /usr/bin/chrome-linux64/locales/ta_NEUTER.pak  
#13 2.917   inflating: /usr/bin/chrome-linux64/locales/te.pak  
#13 2.928   inflating: /usr/bin/chrome-linux64/locales/te_FEMININE.pak  
#13 2.928   inflating: /usr/bin/chrome-linux64/locales/te_MASCULINE.pak  
#13 2.928   inflating: /usr/bin/chrome-linux64/locales/te_NEUTER.pak  
#13 2.928   inflating: /usr/bin/chrome-linux64/locales/th.pak  
#13 2.936   inflating: /usr/bin/chrome-linux64/locales/th_FEMININE.pak  
#13 2.936   inflating: /usr/bin/chrome-linux64/locales/th_MASCULINE.pak  
#13 2.937   inflating: /usr/bin/chrome-linux64/locales/th_NEUTER.pak  
#13 2.937   inflating: /usr/bin/chrome-linux64/locales/tr.pak  
#13 2.942   inflating: /usr/bin/chrome-linux64/locales/tr_FEMININE.pak  
#13 2.942   inflating: /usr/bin/chrome-linux64/locales/tr_MASCULINE.pak  
#13 2.942   inflating: /usr/bin/chrome-linux64/locales/tr_NEUTER.pak  
#13 2.942   inflating: /usr/bin/chrome-linux64/locales/uk.pak  
#13 2.950   inflating: /usr/bin/chrome-linux64/locales/uk_FEMININE.pak  
#13 2.950   inflating: /usr/bin/chrome-linux64/locales/uk_MASCULINE.pak  
#13 2.950   inflating: /usr/bin/chrome-linux64/locales/uk_NEUTER.pak  
#13 2.950   inflating: /usr/bin/chrome-linux64/locales/ur.pak  
#13 2.957   inflating: /usr/bin/chrome-linux64/locales/ur_FEMININE.pak  
#13 2.957   inflating: /usr/bin/chrome-linux64/locales/ur_MASCULINE.pak  
#13 2.957   inflating: /usr/bin/chrome-linux64/locales/ur_NEUTER.pak  
#13 2.957   inflating: /usr/bin/chrome-linux64/locales/vi.pak  
#13 2.962   inflating: /usr/bin/chrome-linux64/locales/vi_FEMININE.pak  
#13 2.962   inflating: /usr/bin/chrome-linux64/locales/vi_MASCULINE.pak  
#13 2.963   inflating: /usr/bin/chrome-linux64/locales/vi_NEUTER.pak  
#13 2.963   inflating: /usr/bin/chrome-linux64/locales/zh-CN.pak  
#13 2.967   inflating: /usr/bin/chrome-linux64/locales/zh-CN_FEMININE.pak  
#13 2.967   inflating: /usr/bin/chrome-linux64/locales/zh-CN_MASCULINE.pak  
#13 2.967   inflating: /usr/bin/chrome-linux64/locales/zh-CN_NEUTER.pak  
#13 2.967   inflating: /usr/bin/chrome-linux64/locales/zh-TW.pak  
#13 2.972   inflating: /usr/bin/chrome-linux64/locales/zh-TW_FEMININE.pak  
#13 2.972   inflating: /usr/bin/chrome-linux64/locales/zh-TW_MASCULINE.pak  
#13 2.972   inflating: /usr/bin/chrome-linux64/locales/zh-TW_NEUTER.pak  
#13 2.972  extracting: /usr/bin/chrome-linux64/product_logo_48.png  
#13 2.972   inflating: /usr/bin/chrome-linux64/resources.pak  
#13 3.062   inflating: /usr/bin/chrome-linux64/rpm.deps  
#13 3.062   inflating: /usr/bin/chrome-linux64/v8_context_snapshot.bin  
#13 3.068   inflating: /usr/bin/chrome-linux64/vk_swiftshader_icd.json  
#13 3.068    creating: /usr/bin/chrome-linux64/resources/
#13 3.068    creating: /usr/bin/chrome-linux64/resources/inspector_overlay/
#13 3.068   inflating: /usr/bin/chrome-linux64/resources/inspector_overlay/inspector_overlay_resources.grd  
#13 3.068   inflating: /usr/bin/chrome-linux64/resources/inspector_overlay/main.js  
#13 3.069    creating: /usr/bin/chrome-linux64/resources/accessibility/
#13 3.069    creating: /usr/bin/chrome-linux64/resources/accessibility/reading_mode_gdocs_helper/
#13 3.069   inflating: /usr/bin/chrome-linux64/resources/accessibility/reading_mode_gdocs_helper/content.js  
#13 3.069   inflating: /usr/bin/chrome-linux64/resources/accessibility/reading_mode_gdocs_helper/gdocs_script.js  
#13 3.069   inflating: /usr/bin/chrome-linux64/resources/accessibility/reading_mode_gdocs_helper_manifest.json  
#13 3.070    creating: /usr/bin/chrome-linux64/hyphen-data/
#13 3.070   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-tk.hyb  
#13 3.070   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-de-1901.hyb  
#13 3.071   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-de-1996.hyb  
#13 3.072   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-mul-ethi.hyb  
#13 3.072   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-es.hyb  
#13 3.073   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-hi.hyb  
#13 3.073   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-cu.hyb  
#13 3.074   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-as.hyb  
#13 3.074   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-ta.hyb  
#13 3.074   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-pa.hyb  
#13 3.074   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-el.hyb  
#13 3.074   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-te.hyb  
#13 3.074   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-und-ethi.hyb  
#13 3.074   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-de-ch-1901.hyb  
#13 3.075   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-bg.hyb  
#13 3.075   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-gu.hyb  
#13 3.076   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-et.hyb  
#13 3.076   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-cs.hyb  
#13 3.077   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-nl.hyb  
#13 3.078   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-ru.hyb  
#13 3.078   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-hy.hyb  
#13 3.078   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-uk.hyb  
#13 3.078   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-eu.hyb  
#13 3.078   inflating: /usr/bin/chrome-linux64/hyphen-data/manifest.json  
#13 3.078   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-ga.hyb  
#13 3.079   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-sk.hyb  
#13 3.080   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-mr.hyb  
#13 3.080   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-bn.hyb  
#13 3.080   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-nb.hyb  
#13 3.082   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-en-gb.hyb  
#13 3.082   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-or.hyb  
#13 3.082   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-cy.hyb  
#13 3.083   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-hr.hyb  
#13 3.083   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-fr.hyb  
#13 3.083   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-kn.hyb  
#13 3.083   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-mn-cyrl.hyb  
#13 3.083   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-lt.hyb  
#13 3.084   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-en-us.hyb  
#13 3.084   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-ml.hyb  
#13 3.084   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-pt.hyb  
#13 3.084   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-be.hyb  
#13 3.085   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-sl.hyb  
#13 3.085   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-lv.hyb  
#13 3.085   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-sv.hyb  
#13 3.086   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-hu.hyb  
#13 3.089   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-af.hyb  
#13 3.090   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-sq.hyb  
#13 3.090   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-ka.hyb  
#13 3.090   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-it.hyb  
#13 3.091   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-gl.hyb  
#13 3.091   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-da.hyb  
#13 3.091   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-nn.hyb  
#13 3.093   inflating: /usr/bin/chrome-linux64/hyphen-data/hyph-la.hyb  
#13 DONE 3.8s

#14 [ 8/10] COPY scripts/nodejs.sh /scripts/
#14 DONE 0.0s

---
[WARNING] line 38: Delta is 0 for "x", maybe try to use `compare-elements-position` instead?

======== tests/rustdoc-gui/source-code-page.goml ========

[ERROR] line 13: ProtocolError: Runtime.callFunctionOn timed out. Increase the 'protocolTimeout' setting in launch/connect calls for a higher timeout if needed.: for command `assert-attribute: ("//*[@id='4']", {"class": "line-highlighted"})`
    at <file:///checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc-gui/doc/src/test_docs/lib.rs.html#4>
[ERROR] line 14: ProtocolError: Runtime.callFunctionOn timed out. Increase the 'protocolTimeout' setting in launch/connect calls for a higher timeout if needed.: for command `assert-css: ("//*[@id='4']", {"border-right-width": "0px"})`
    at <file:///checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc-gui/doc/src/test_docs/lib.rs.html#4>
[ERROR] line 16: TimeoutError: Navigation timeout of 30000 ms exceeded: for command `go-to: "file://" + |DOC_PATH| + "/src/test_docs/lib.rs.html#4-6"`
    at <file:///checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc-gui/doc/src/test_docs/lib.rs.html#4>


<= doc-ui tests done: 150 succeeded, 1 failed, 0 filtered out

Error: ()

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

perf-regression Performance regression. S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. T-libs Relevant to the library team, which will review and decide on the PR/issue.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

8 participants