From 13eec906cd5acee8b60d962e22b4c442fb3fbc33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Tue, 9 Sep 2025 15:23:14 +0200 Subject: [PATCH 1/5] Add Rust Compiler Performance 2025 Survey results --- .../alternative-linker-wordcloud.png | Bin 0 -> 51217 bytes .../alternative-linker.png | Bin 0 -> 18918 bytes .../alternative-linker.svg | 1 + .../cargo-commands.png | Bin 0 -> 36679 bytes .../cargo-commands.svg | 1 + .../charts.js | 63 ++++ .../compile-time-improvement-mechanisms.png | Bin 0 -> 68411 bytes .../compile-time-improvement-mechanisms.svg | 1 + .../debugger.png | Bin 0 -> 27346 bytes .../debugger.svg | 1 + .../index.md | 325 ++++++++++++++++++ .../limiting-workflows.png | Bin 0 -> 48144 bytes .../limiting-workflows.svg | 1 + .../problems.png | Bin 0 -> 51660 bytes .../problems.svg | 1 + .../profiling-tools.png | Bin 0 -> 34609 bytes .../profiling-tools.svg | 1 + .../rebuild-wait-time-code-size.png | Bin 0 -> 33648 bytes .../rebuild-wait-time-code-size.svg | 1 + .../rebuild-wait-time-dep-count.png | Bin 0 -> 47112 bytes .../rebuild-wait-time-dep-count.svg | 1 + .../rebuild-wait-time.png | Bin 0 -> 31780 bytes .../rebuild-wait-time.svg | 1 + .../required-debuginfo-debugger.png | Bin 0 -> 25615 bytes .../required-debuginfo-debugger.svg | 1 + .../required-debuginfo.png | Bin 0 -> 25522 bytes .../required-debuginfo.svg | 1 + .../satisfaction.png | Bin 0 -> 21074 bytes .../satisfaction.svg | 1 + 29 files changed, 401 insertions(+) create mode 100644 content/rust-compiler-performance-survey-2025-results/alternative-linker-wordcloud.png create mode 100644 content/rust-compiler-performance-survey-2025-results/alternative-linker.png create mode 100644 content/rust-compiler-performance-survey-2025-results/alternative-linker.svg create mode 100644 content/rust-compiler-performance-survey-2025-results/cargo-commands.png create mode 100644 content/rust-compiler-performance-survey-2025-results/cargo-commands.svg create mode 100644 content/rust-compiler-performance-survey-2025-results/charts.js create mode 100644 content/rust-compiler-performance-survey-2025-results/compile-time-improvement-mechanisms.png create mode 100644 content/rust-compiler-performance-survey-2025-results/compile-time-improvement-mechanisms.svg create mode 100644 content/rust-compiler-performance-survey-2025-results/debugger.png create mode 100644 content/rust-compiler-performance-survey-2025-results/debugger.svg create mode 100644 content/rust-compiler-performance-survey-2025-results/index.md create mode 100644 content/rust-compiler-performance-survey-2025-results/limiting-workflows.png create mode 100644 content/rust-compiler-performance-survey-2025-results/limiting-workflows.svg create mode 100644 content/rust-compiler-performance-survey-2025-results/problems.png create mode 100644 content/rust-compiler-performance-survey-2025-results/problems.svg create mode 100644 content/rust-compiler-performance-survey-2025-results/profiling-tools.png create mode 100644 content/rust-compiler-performance-survey-2025-results/profiling-tools.svg create mode 100644 content/rust-compiler-performance-survey-2025-results/rebuild-wait-time-code-size.png create mode 100644 content/rust-compiler-performance-survey-2025-results/rebuild-wait-time-code-size.svg create mode 100644 content/rust-compiler-performance-survey-2025-results/rebuild-wait-time-dep-count.png create mode 100644 content/rust-compiler-performance-survey-2025-results/rebuild-wait-time-dep-count.svg create mode 100644 content/rust-compiler-performance-survey-2025-results/rebuild-wait-time.png create mode 100644 content/rust-compiler-performance-survey-2025-results/rebuild-wait-time.svg create mode 100644 content/rust-compiler-performance-survey-2025-results/required-debuginfo-debugger.png create mode 100644 content/rust-compiler-performance-survey-2025-results/required-debuginfo-debugger.svg create mode 100644 content/rust-compiler-performance-survey-2025-results/required-debuginfo.png create mode 100644 content/rust-compiler-performance-survey-2025-results/required-debuginfo.svg create mode 100644 content/rust-compiler-performance-survey-2025-results/satisfaction.png create mode 100644 content/rust-compiler-performance-survey-2025-results/satisfaction.svg diff --git a/content/rust-compiler-performance-survey-2025-results/alternative-linker-wordcloud.png b/content/rust-compiler-performance-survey-2025-results/alternative-linker-wordcloud.png new file mode 100644 index 0000000000000000000000000000000000000000..c26f86a0e432989cc01009cc98837a159adc3f56 GIT binary patch literal 51217 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 z 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 literal 0 HcmV?d00001 diff --git a/content/rust-compiler-performance-survey-2025-results/alternative-linker.svg b/content/rust-compiler-performance-survey-2025-results/alternative-linker.svg new file mode 100644 index 000000000..20566d3aa --- /dev/null +++ b/content/rust-compiler-performance-survey-2025-results/alternative-linker.svg @@ -0,0 +1 @@ +3.1%46.9%65.3%6.6%3.5%moldlldwildOthergold0%20%40%60%80%100%If you use an alternative linker, which one do you use?(total responses = 1154, multiple answers)Percent out of all responses (%) \ No newline at end of file diff --git a/content/rust-compiler-performance-survey-2025-results/cargo-commands.png b/content/rust-compiler-performance-survey-2025-results/cargo-commands.png new file mode 100644 index 0000000000000000000000000000000000000000..9ff431091ed1dc0e94d85d857d9534347f690b49 GIT binary patch literal 36679 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 literal 0 HcmV?d00001 diff --git a/content/rust-compiler-performance-survey-2025-results/cargo-commands.svg b/content/rust-compiler-performance-survey-2025-results/cargo-commands.svg new file mode 100644 index 000000000..f8a7cc714 --- /dev/null +++ b/content/rust-compiler-performance-survey-2025-results/cargo-commands.svg @@ -0,0 +1 @@ +36.98%26.21%11.68%32.30%21.06%20.16%43.02%45.36%15.04%41.19%35.90%20.02%26.91%12.44%9.40%2.32%0%20%40%60%80%100%cargo testcargo clippycargo checkcargo run / cargobuildSeverityAfter every code changeOnly after I have resolved other issuesOnly after I am done (e.g. before committing code)NeverIf you use Cargo, how often do you use the following commands after eachchange to Rust code?(total responses = 2437) \ No newline at end of file diff --git a/content/rust-compiler-performance-survey-2025-results/charts.js b/content/rust-compiler-performance-survey-2025-results/charts.js new file mode 100644 index 000000000..74df9b0a3 --- /dev/null +++ b/content/rust-compiler-performance-survey-2025-results/charts.js @@ -0,0 +1,63 @@ + + +window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("satisfaction")) { Plotly.newPlot( "satisfaction", [{"alignmentgroup":"True","customdata":[["2025",38],["2025",21],["2025",79],["2025",155],["2025",163],["2025",245],["2025",481],["2025",625],["2025",337],["2025",83],["2025",30]],"hovertemplate":"Year: %{customdata[0]}\u003cbr \u002f\u003eCount: %{customdata[1]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"2025","marker":{"color":"#636EFA","pattern":{"shape":""}},"name":"2025","offsetgroup":"2025","orientation":"v","showlegend":true,"text":["1.7%","0.9%","3.5%","6.9%","7.2%","10.9%","21.3%","27.7%","14.9%","3.7%","1.3%"],"textposition":"outside","x":["\u003cspan style='font-size: 1.3em'\u003e0\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e1\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e2\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e3\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e4\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e5\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e6\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e7\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e8\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e9\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e10\u003c\u002fspan\u003e"],"xaxis":"x","y":{"dtype":"f8","bdata":"AAAAADzw+j8AAABAJ8btPwAAAEB0AAxAAAAAIFh4G0AAAACgTeMcQAAAAADStSVAAAAA4LxPNUAAAACADrE7QAAAAIDW3C1AAAAAwGlrDUAAAAAgZUT1Pw=="},"yaxis":"y","type":"bar","textangle":0}], {"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{},"categoryorder":"array","categoryarray":["\u003cspan style='font-size: 1.3em'\u003e0\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e1\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e2\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e3\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e4\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e5\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e6\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e7\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e8\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e9\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003e10\u003c\u002fspan\u003e"],"tickfont":{"size":9},"tickangle":0},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{"text":"Percent out of all responses (%)","standoff":50},"range":[0,119],"ticksuffix":"%","fixedrange":true,"nticks":10,"rangemode":"tozero","gridcolor":"rgb(229, 236, 246)"},"legend":{"title":{"text":"Year"},"tracegroupgap":0},"margin":{"t":60,"pad":10,"b":10},"barmode":"group","height":400,"hoverlabel":{"font":{"size":16,"family":"Rockwell"},"bgcolor":"white"},"title":{"text":"\u003cb\u003eOverall, how satisfied are you with Rust compilation performance?\u003cbr \u002f\u003e(0 = worst, 10 = best)\u003c\u002fb\u003e\u003cbr \u002f\u003e\u003cspan style=\"font-size: 0.8em;\"\u003e(total responses = 2257, single answer)\u003c\u002fspan\u003e"},"uniformtext":{"minsize":12,"mode":"show"},"meta":"bar-chart","hovermode":"x unified","plot_bgcolor":"rgb(255, 255, 255)","showlegend":false,"dragmode":"pan"}, {"modeBarButtonsToRemove": ["zoom", "pan", "lasso2d", "select", "autoScale", "toImage"], "displaylogo": false, "responsive": true} ) }; + +window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("limiting-workflows")) { Plotly.newPlot( "limiting-workflows", [{"customdata":[["Big problem for me"],["Big problem for me"],["Big problem for me"],["Big problem for me"],["Big problem for me"],["Big problem for me"],["Big problem for me"],["Big problem for me"],["Big problem for me"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Big problem for me","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"Big problem for me","orientation":"h","showlegend":true,"text":["14.39%","10.99%","24.76%","20.60%","30.93%","18.84%","21.66%","17.27%","10.95%"],"textposition":"inside","x":{"dtype":"f8","bdata":"tEdPLKfHLEAXv9Bm4vwlQKYG9o6pwThA4C0zJPSZNEDvl\u002fV+We8+QFf+Y7dW1zJAQYYl4UapNUASWeNpYkYxQJA65Y865SVA"},"xaxis":"x","y":["cargo check","cargo test","Unoptimized rebuilds","Optimized rebuilds","Workspace rebuilds","Clean unoptimized\u003cbr \u002f\u003ebuilds","Clean optimized\u003cbr \u002f\u003ebuilds","CI builds","Docker builds"],"yaxis":"y","type":"bar"},{"customdata":[["Could be improved, but does not limit me"],["Could be improved, but does not limit me"],["Could be improved, but does not limit me"],["Could be improved, but does not limit me"],["Could be improved, but does not limit me"],["Could be improved, but does not limit me"],["Could be improved, but does not limit me"],["Could be improved, but does not limit me"],["Could be improved, but does not limit me"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Could be improved, but does not limit me","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"Could be improved, but does not limit me","orientation":"h","showlegend":true,"text":["44.06%","39.47%","46.43%","44.41%","38.29%","44.65%","40.27%","32.48%","19.32%"],"textposition":"inside","x":{"dtype":"f8","bdata":"QpbI8eIHRkD61qqzfrxDQG7btm3bNkdAxGuE89c0RkAmaleidiVDQASGNadlU0ZANkWfu2UiRECVMDYLqj1AQL1nEr1nUjNA"},"xaxis":"x","y":["cargo check","cargo test","Unoptimized rebuilds","Optimized rebuilds","Workspace rebuilds","Clean unoptimized\u003cbr \u002f\u003ebuilds","Clean optimized\u003cbr \u002f\u003ebuilds","CI builds","Docker builds"],"yaxis":"y","type":"bar"},{"customdata":[["Not an issue for me at all"],["Not an issue for me at all"],["Not an issue for me at all"],["Not an issue for me at all"],["Not an issue for me at all"],["Not an issue for me at all"],["Not an issue for me at all"],["Not an issue for me at all"],["Not an issue for me at all"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Not an issue for me at all","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"Not an issue for me at all","orientation":"h","showlegend":true,"text":["38.55%","40.41%","25.49%","27.43%","19.19%","28.32%","30.25%","24.09%","17.69%"],"textposition":"inside","x":{"dtype":"f8","bdata":"YnB3i0BGQ0B65GhO7TNEQLPyE+KsfDlASFK9NIltO0Aw6\u002f2y3i8zQLxRAziRUjxAMB2vGqBAPkBl+iphbBY4QMYacMUasDFA"},"xaxis":"x","y":["cargo check","cargo test","Unoptimized rebuilds","Optimized rebuilds","Workspace rebuilds","Clean unoptimized\u003cbr \u002f\u003ebuilds","Clean optimized\u003cbr \u002f\u003ebuilds","CI builds","Docker builds"],"yaxis":"y","type":"bar"},{"customdata":[["I don't use this workflow"],["I don't use this workflow"],["I don't use this workflow"],["I don't use this workflow"],["I don't use this workflow"],["I don't use this workflow"],["I don't use this workflow"],["I don't use this workflow"],["I don't use this workflow"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"I don't use this workflow","marker":{"color":"#ab63fa","pattern":{"shape":""}},"name":"I don't use this workflow","orientation":"h","showlegend":true,"text":["3.00%","9.13%","3.33%","7.56%","11.59%","8.18%","7.82%","26.16%","52.04%"],"textposition":"inside","x":{"dtype":"f8","bdata":"7HbCeiv\u002fB0AVU+CQbUEiQFZ+QpyVnwpAPaEaAEs7HkAsUbsStSsnQMdHW4SZXiBAi0izMzZFH0BeS4Ue3Sc6QBtwxRpwBUpA"},"xaxis":"x","y":["cargo check","cargo test","Unoptimized rebuilds","Optimized rebuilds","Workspace rebuilds","Clean unoptimized\u003cbr \u002f\u003ebuilds","Clean optimized\u003cbr \u002f\u003ebuilds","CI builds","Docker builds"],"yaxis":"y","type":"bar"}], {"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{},"fixedrange":true,"range":[0,100],"ticksuffix":"%","showgrid":false},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{},"categoryorder":"array","categoryarray":["Docker builds","CI builds","cargo test","cargo check","Clean unoptimized\u003cbr \u002f\u003ebuilds","Clean optimized\u003cbr \u002f\u003ebuilds","Optimized rebuilds","Workspace rebuilds","Unoptimized rebuilds"],"tickangle":0,"fixedrange":true,"ticksuffix":""},"legend":{"title":{"text":"Severity"},"tracegroupgap":0,"orientation":"h","y":-0.05},"title":{"text":"\u003cb\u003eWhich development workflows limit your productivity?\u003c\u002fb\u003e\u003cbr \u002f\u003e\u003cspan style=\"font-size: 0.8em;\"\u003e(total responses = 2490)\u003c\u002fspan\u003e"},"barmode":"relative","height":500,"hoverlabel":{"font":{"size":16,"family":"Rockwell"},"bgcolor":"white"},"meta":"matrix-chart","dragmode":"pan"}, {"modeBarButtonsToRemove": ["zoom", "pan", "lasso2d", "select", "autoScale", "toImage"], "displaylogo": false, "responsive": true} ) }; + +window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("problems")) { Plotly.newPlot( "problems", [{"customdata":[["Big problem for me"],["Big problem for me"],["Big problem for me"],["Big problem for me"],["Big problem for me"],["Big problem for me"],["Big problem for me"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Big problem for me","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"Big problem for me","orientation":"h","showlegend":true,"text":["45.62%","18.25%","28.98%","35.93%","23.09%","22.32%","23.06%"],"textposition":"inside","x":{"dtype":"f8","bdata":"qIWLcZvPRkAwQAWTFEAyQM1EQj5N+jxAtNpZ7az2QUDpsq\u002fBKRY3QMFawtcMUzZAnMqZlsgON0A="},"xaxis":"x","y":["Waiting for a\u003cbr \u002f\u003erebuild after making\u003cbr \u002f\u003ea small change","Waiting for CI\u003cbr \u002f\u003eworkflows that build\u003cbr \u002f\u003eRust code","Waiting for an IDE\u003cbr \u002f\u003eto show me inline\u003cbr \u002f\u003eerror\u002fwarning\u003cbr \u002f\u003eannotations","cargo and my IDE\u003cbr \u002f\u003eblocking each other","cargo check and\u003cbr \u002f\u003ecargo build not\u003cbr \u002f\u003esharing compilation\u003cbr \u002f\u003ecache","cargo check and\u003cbr \u002f\u003ecargo clippy not\u003cbr \u002f\u003esharing compilation\u003cbr \u002f\u003ecache","cargo rebuilding\u003cbr \u002f\u003eeverything from\u003cbr \u002f\u003escratch and I do not\u003cbr \u002f\u003eunderstand why"],"yaxis":"y","type":"bar"},{"customdata":[["Could be improved, but does not limit me"],["Could be improved, but does not limit me"],["Could be improved, but does not limit me"],["Could be improved, but does not limit me"],["Could be improved, but does not limit me"],["Could be improved, but does not limit me"],["Could be improved, but does not limit me"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Could be improved, but does not limit me","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"Could be improved, but does not limit me","orientation":"h","showlegend":true,"text":["39.57%","38.13%","43.90%","37.42%","42.66%","39.63%","27.54%"],"textposition":"inside","x":{"dtype":"f8","bdata":"bR8HBXzIQ0DBJ1nACRFDQNDdSUog80VAntXOame1QkAggcYOelRFQNePCOLo0ENAF5gG7m6LO0A="},"xaxis":"x","y":["Waiting for a\u003cbr \u002f\u003erebuild after making\u003cbr \u002f\u003ea small change","Waiting for CI\u003cbr \u002f\u003eworkflows that build\u003cbr \u002f\u003eRust code","Waiting for an IDE\u003cbr \u002f\u003eto show me inline\u003cbr \u002f\u003eerror\u002fwarning\u003cbr \u002f\u003eannotations","cargo and my IDE\u003cbr \u002f\u003eblocking each other","cargo check and\u003cbr \u002f\u003ecargo build not\u003cbr \u002f\u003esharing compilation\u003cbr \u002f\u003ecache","cargo check and\u003cbr \u002f\u003ecargo clippy not\u003cbr \u002f\u003esharing compilation\u003cbr \u002f\u003ecache","cargo rebuilding\u003cbr \u002f\u003eeverything from\u003cbr \u002f\u003escratch and I do not\u003cbr \u002f\u003eunderstand why"],"yaxis":"y","type":"bar"},{"customdata":[["Not an issue for me at all"],["Not an issue for me at all"],["Not an issue for me at all"],["Not an issue for me at all"],["Not an issue for me at all"],["Not an issue for me at all"],["Not an issue for me at all"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Not an issue for me at all","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"Not an issue for me at all","orientation":"h","showlegend":true,"text":["14.81%","43.62%","27.12%","26.66%","34.25%","38.04%","49.40%"],"textposition":"inside","x":{"dtype":"f8","bdata":"rmu1JaKfLUAmOCT2685FQJT\u002fKS1yHztAXJ+uT9enOkBrpWEQcSBBQMlCFrKQBUNAps6vPeSySEA="},"xaxis":"x","y":["Waiting for a\u003cbr \u002f\u003erebuild after making\u003cbr \u002f\u003ea small change","Waiting for CI\u003cbr \u002f\u003eworkflows that build\u003cbr \u002f\u003eRust code","Waiting for an IDE\u003cbr \u002f\u003eto show me inline\u003cbr \u002f\u003eerror\u002fwarning\u003cbr \u002f\u003eannotations","cargo and my IDE\u003cbr \u002f\u003eblocking each other","cargo check and\u003cbr \u002f\u003ecargo build not\u003cbr \u002f\u003esharing compilation\u003cbr \u002f\u003ecache","cargo check and\u003cbr \u002f\u003ecargo clippy not\u003cbr \u002f\u003esharing compilation\u003cbr \u002f\u003ecache","cargo rebuilding\u003cbr \u002f\u003eeverything from\u003cbr \u002f\u003escratch and I do not\u003cbr \u002f\u003eunderstand why"],"yaxis":"y","type":"bar"}], {"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{},"fixedrange":true,"range":[0,100],"ticksuffix":"%","showgrid":false},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{},"categoryorder":"array","categoryarray":["cargo rebuilding\u003cbr \u002f\u003eeverything from\u003cbr \u002f\u003escratch and I do not\u003cbr \u002f\u003eunderstand why","Waiting for CI\u003cbr \u002f\u003eworkflows that build\u003cbr \u002f\u003eRust code","cargo check and\u003cbr \u002f\u003ecargo clippy not\u003cbr \u002f\u003esharing compilation\u003cbr \u002f\u003ecache","cargo check and\u003cbr \u002f\u003ecargo build not\u003cbr \u002f\u003esharing compilation\u003cbr \u002f\u003ecache","Waiting for an IDE\u003cbr \u002f\u003eto show me inline\u003cbr \u002f\u003eerror\u002fwarning\u003cbr \u002f\u003eannotations","cargo and my IDE\u003cbr \u002f\u003eblocking each other","Waiting for a\u003cbr \u002f\u003erebuild after making\u003cbr \u002f\u003ea small change"],"tickangle":0,"fixedrange":true,"ticksuffix":""},"legend":{"title":{"text":"Severity"},"tracegroupgap":0,"orientation":"h","y":-0.05},"title":{"text":"\u003cb\u003eWhich of the following problems do you most struggle with?\u003c\u002fb\u003e\u003cbr \u002f\u003e\u003cspan style=\"font-size: 0.8em;\"\u003e(total responses = 2463)\u003c\u002fspan\u003e"},"barmode":"relative","height":650,"hoverlabel":{"font":{"size":16,"family":"Rockwell"},"bgcolor":"white"},"meta":"matrix-chart","dragmode":"pan"}, {"modeBarButtonsToRemove": ["zoom", "pan", "lasso2d", "select", "autoScale", "toImage"], "displaylogo": false, "responsive": true} ) }; + +window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("rebuild-wait-time")) { Plotly.newPlot( "rebuild-wait-time", [{"alignmentgroup":"True","customdata":[["2025",61],["2025",493],["2025",552],["2025",549],["2025",297],["2025",383],["2025",110]],"hovertemplate":"Year: %{customdata[0]}\u003cbr \u002f\u003eCount: %{customdata[1]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"2025","marker":{"color":"#636EFA","pattern":{"shape":""}},"name":"2025","offsetgroup":"2025","orientation":"v","showlegend":true,"text":["2.5%","20.2%","22.6%","22.5%","12.1%","15.7%","4.5%"],"textposition":"outside","x":["\u003cspan style='font-size: 1.3em'\u003eLess than a second\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eBetween 1 and 5 seconds\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eBetween 5 and 10 seconds\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eBetween 10 and 30 seconds\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eBetween 30 seconds and 1\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003eminute\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eBetween 1 and 5 minutes\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eMore than 5 minutes\u003c\u002fspan\u003e"],"xaxis":"x","y":{"dtype":"f8","bdata":"AAAAgIf1A0AAAACg4Sk0QAAAAMChkzZAAAAAgDh0NkAAAAAAY0soQAAAAGBJVC9AAAAAAPT+EUA="},"yaxis":"y","type":"bar","textangle":0}], {"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{},"categoryorder":"array","categoryarray":["\u003cspan style='font-size: 1.3em'\u003eLess than a second\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eBetween 1 and 5 seconds\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eBetween 5 and 10 seconds\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eBetween 10 and 30 seconds\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eBetween 30 seconds and 1\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003eminute\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eBetween 1 and 5 minutes\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eMore than 5 minutes\u003c\u002fspan\u003e"],"tickfont":{"size":9},"tickangle":30},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{"text":"Percent out of all responses (%)","standoff":50},"range":[0,119],"ticksuffix":"%","fixedrange":true,"nticks":10,"rangemode":"tozero","gridcolor":"rgb(229, 236, 246)"},"legend":{"title":{"text":"Year"},"tracegroupgap":0},"margin":{"t":60,"pad":10,"b":10},"barmode":"group","height":400,"hoverlabel":{"font":{"size":16,"family":"Rockwell"},"bgcolor":"white"},"title":{"text":"\u003cb\u003eHow long do you need to wait for the compiler to rebuild your code after\u003cbr \u002f\u003emaking a change?\u003c\u002fb\u003e\u003cbr \u002f\u003e\u003cspan style=\"font-size: 0.8em;\"\u003e(total responses = 2445, single answer)\u003c\u002fspan\u003e"},"uniformtext":{"minsize":12,"mode":"show"},"meta":"bar-chart","hovermode":"x unified","plot_bgcolor":"rgb(255, 255, 255)","showlegend":false,"dragmode":"pan"}, {"modeBarButtonsToRemove": ["zoom", "pan", "lasso2d", "select", "autoScale", "toImage"], "displaylogo": false, "responsive": true} ) }; + +window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("rebuild-wait-time-code-size")) { Plotly.newPlot( "rebuild-wait-time-code-size", [{"hovertemplate":"Rebuild time=\u003c1s\u003cbr\u003eCodebase size=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"\u003c1s","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"\u003c1s","orientation":"v","showlegend":true,"textposition":"auto","x":["101-500 thousand lines","11-50 thousand lines","2-10 thousand lines","51-100 thousand lines","Less than 2 thousand lines","More than 500 thousand lines of code"],"xaxis":"x","y":{"dtype":"f8","bdata":"reDwhRQB2z9dEj6PSl3yP5dbY7tLWg9AK3US1wwQ5D+x4FLZ3nUYQE\u002fsxE7sxO4\u002f"},"yaxis":"y","type":"bar"},{"hovertemplate":"Rebuild time=1-5s\u003cbr\u003eCodebase size=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"1-5s","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"1-5s","orientation":"v","showlegend":true,"textposition":"auto","x":["101-500 thousand lines","11-50 thousand lines","2-10 thousand lines","51-100 thousand lines","Less than 2 thousand lines","More than 500 thousand lines of code"],"xaxis":"x","y":{"dtype":"f8","bdata":"bIy206zgIEDN625ilMwzQCSXW2O7SzpAeVet2I4yJ0Aq27sO6MY8QDuxEzuxExdA"},"yaxis":"y","type":"bar"},{"hovertemplate":"Rebuild time=5-10s\u003cbr\u003eCodebase size=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"5-10s","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"5-10s","orientation":"v","showlegend":true,"textposition":"auto","x":["101-500 thousand lines","11-50 thousand lines","2-10 thousand lines","51-100 thousand lines","Less than 2 thousand lines","More than 500 thousand lines of code"],"xaxis":"x","y":{"dtype":"f8","bdata":"nUtimfp4KEAaeAHccRo4QEDWJrjRSDlA+3mYPs5BNkAC3Zinj1Y7QDuxEzuxExdA"},"yaxis":"y","type":"bar"},{"hovertemplate":"Rebuild time=10-30s\u003cbr\u003eCodebase size=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"10-30s","marker":{"color":"#ab63fa","pattern":{"shape":""}},"name":"10-30s","orientation":"v","showlegend":true,"textposition":"auto","x":["101-500 thousand lines","11-50 thousand lines","2-10 thousand lines","51-100 thousand lines","Less than 2 thousand lines","More than 500 thousand lines of code"],"xaxis":"x","y":{"dtype":"f8","bdata":"JZapjwe9OUDUrkTtStQ6QM0RH2BBOjRA+3mYPs5BNkBwqWzvOqAxQIqd2ImdWDBA"},"yaxis":"y","type":"bar"},{"hovertemplate":"Rebuild time=30s-1m\u003cbr\u003eCodebase size=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"30s-1m","marker":{"color":"#FFA15A","pattern":{"shape":""}},"name":"30s-1m","orientation":"v","showlegend":true,"textposition":"auto","x":["101-500 thousand lines","11-50 thousand lines","2-10 thousand lines","51-100 thousand lines","Less than 2 thousand lines","More than 500 thousand lines of code"],"xaxis":"x","y":{"dtype":"f8","bdata":"fCFFwMZoM0DRf8Sx\u002fNAnQJWTiLYUQCZAdRLXDBAUKUDZ3nVAN+YZQLETO7ETOzNA"},"yaxis":"y","type":"bar"},{"hovertemplate":"Rebuild time=1-5m\u003cbr\u003eCodebase size=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"1-5m","marker":{"color":"#19d3f3","pattern":{"shape":""}},"name":"1-5m","orientation":"v","showlegend":true,"textposition":"auto","x":["101-500 thousand lines","11-50 thousand lines","2-10 thousand lines","51-100 thousand lines","Less than 2 thousand lines","More than 500 thousand lines of code"],"xaxis":"x","y":{"dtype":"f8","bdata":"uO5PziWxPECKUTKvu4kpQOoCIXblfSVAzH4epo9zOEBMZXvXAd0kQCd2Yid24jtA"},"yaxis":"y","type":"bar"},{"hovertemplate":"Rebuild time=\u003e5m\u003cbr\u003eCodebase size=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"\u003e5m","marker":{"color":"#FF6692","pattern":{"shape":""}},"name":"\u003e5m","orientation":"v","showlegend":true,"textposition":"auto","x":["101-500 thousand lines","11-50 thousand lines","2-10 thousand lines","51-100 thousand lines","Less than 2 thousand lines","More than 500 thousand lines of code"],"xaxis":"x","y":{"dtype":"f8","bdata":"gqh0ZM9AFECMG93W74sLQOlQ6rRXNwNAdRLXDBAUGUDZ3nVAN+YJQJ7YiZ3YCThA"},"yaxis":"y","type":"bar"}], {"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{"text":"Codebase size"},"categoryorder":"array","categoryarray":["Less than 2 thousand lines","2-10 thousand lines","11-50 thousand lines","51-100 thousand lines","101-500 thousand lines","More than 500 thousand lines of code"]},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{"text":"Percentage (%)"}},"legend":{"title":{"text":"Rebuild time"},"tracegroupgap":0},"title":{"text":"\u003cb\u003eAverage rebuild time based on project size (%)\u003c\u002fb\u003e\u003cbr \u002f\u003e\u003cspan style=\"font-size: 0.8em;\"\u003eThe percentages are relative to each individual group on the X axis\u003c\u002fspan\u003e"},"barmode":"relative","height":600}, {"modeBarButtonsToRemove": ["zoom", "pan", "lasso2d", "select", "autoScale", "toImage"], "displaylogo": false, "responsive": true} ) }; + +window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("rebuild-wait-time-dep-count")) { Plotly.newPlot( "rebuild-wait-time-dep-count", [{"hovertemplate":"Rebuild time=\u003c1s\u003cbr\u003ecode-size=Less than 2 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"\u003c1s","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"\u003c1s","orientation":"v","showlegend":true,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","301-500 dependencies","51-100 dependencies","No dependencies"],"xaxis":"x4","y":{"dtype":"f8","bdata":"0FGBL65+IEAWspCFLGQRQI7jOI7jOAZAq6qqqqqqGkAvuuiiiy4SQI7jOI7jOEZA"},"yaxis":"y4","type":"bar"},{"hovertemplate":"Rebuild time=1-5s\u003cbr\u003ecode-size=Less than 2 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"1-5s","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"1-5s","orientation":"v","showlegend":true,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","51-100 dependencies","More than 500 dependencies","No dependencies"],"xaxis":"x4","y":{"dtype":"f8","bdata":"0FGBL65+QEDf9KY3velHQBzHcRzH8T9ATjbZZJNNLkBGF1100UU7QKuqqqqqqjBAjuM4juM4NkA="},"yaxis":"y4","type":"bar"},{"hovertemplate":"Rebuild time=5-10s\u003cbr\u003ecode-size=Less than 2 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"5-10s","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"5-10s","orientation":"v","showlegend":true,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies","No dependencies"],"xaxis":"x4","y":{"dtype":"f8","bdata":"KJFp2G6WM0AhC1nIQhY6QKuqqqqqqkBATjbZZJNNPkCrqqqqqqpKQEYXXXTRRTtAq6qqqqqqMECO4ziO4zgmQA=="},"yaxis":"y4","type":"bar"},{"hovertemplate":"Rebuild time=10-30s\u003cbr\u003ecode-size=Less than 2 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"10-30s","marker":{"color":"#ab63fa","pattern":{"shape":""}},"name":"10-30s","orientation":"v","showlegend":true,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies","No dependencies"],"xaxis":"x4","y":{"dtype":"f8","bdata":"0FGBL65+MEAWspCFLGQRQBzHcRzHcTNAPvjggw8+OECrqqqqqqoqQEYXXXTRRTtAq6qqqqqqMECO4ziO4zgmQA=="},"yaxis":"y4","type":"bar"},{"hovertemplate":"Rebuild time=30s-1m\u003cbr\u003ecode-size=Less than 2 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"30s-1m","marker":{"color":"#FFA15A","pattern":{"shape":""}},"name":"30s-1m","orientation":"v","showlegend":true,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","No dependencies"],"xaxis":"x4","y":{"dtype":"f8","bdata":"0FGBL65+EEAWspCFLGQhQI7jOI7jOBZATjbZZJNNLkCrqqqqqqoaQC+66KKLLhJAjuM4juM4JkA="},"yaxis":"y4","type":"bar"},{"hovertemplate":"Rebuild time=1-5m\u003cbr\u003ecode-size=Less than 2 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"1-5m","marker":{"color":"#19d3f3","pattern":{"shape":""}},"name":"1-5m","orientation":"v","showlegend":true,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x4","y":{"dtype":"f8","bdata":"8yQyDdvNKkAWspCFLGQhQKuqqqqqqhBAPvjggw8+KEAAAAAAAAA0QC+66KKLLiJAq6qqqqqqQEA="},"yaxis":"y4","type":"bar"},{"hovertemplate":"Rebuild time=\u003e5m\u003cbr\u003ecode-size=Less than 2 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"\u003e5m","marker":{"color":"#FF6692","pattern":{"shape":""}},"name":"\u003e5m","orientation":"v","showlegend":true,"textposition":"auto","x":["1-10 dependencies","11-50 dependencies","201-300 dependencies","More than 500 dependencies"],"xaxis":"x4","y":{"dtype":"f8","bdata":"RaZhu1meFECO4ziO4zgGQD744IMPPghAq6qqqqqqMEA="},"yaxis":"y4","type":"bar"},{"hovertemplate":"Rebuild time=\u003c1s\u003cbr\u003ecode-size=2-10 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"\u003c1s","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"\u003c1s","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","No dependencies"],"xaxis":"x5","y":{"dtype":"f8","bdata":"IQtZyEIWGkDirPyEOCsPQMTkCmJyBRFAp6wpa8qa8j9SGZVRGZXxPyVJkiRJkgxAAAAAAAAATkA="},"yaxis":"y5","type":"bar"},{"hovertemplate":"Rebuild time=1-5s\u003cbr\u003ecode-size=2-10 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"1-5s","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"1-5s","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies","No dependencies"],"xaxis":"x5","y":{"dtype":"f8","bdata":"9aY3velNQEAlSZIkSZI8QDG5gphcQThADPqCvqAvQ0Dnaq7maq4yQJIkSZIkiTRAchzHcRzHMUAAAAAAAAA0QA=="},"yaxis":"y5","type":"bar"},{"hovertemplate":"Rebuild time=5-10s\u003cbr\u003ecode-size=2-10 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"5-10s","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"5-10s","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies","No dependencies"],"xaxis":"x5","y":{"dtype":"f8","bdata":"IQtZyEIWOkADe8fUwN49QIOYXEFMrjhAcUfcEXfEM0DkPd7jPd4\u002fQG7btm3bNjdAjuM4juM4NkAAAAAAAAA0QA=="},"yaxis":"y5","type":"bar"},{"hovertemplate":"Rebuild time=10-30s\u003cbr\u003ecode-size=2-10 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"10-30s","marker":{"color":"#ab63fa","pattern":{"shape":""}},"name":"10-30s","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x5","y":{"dtype":"f8","bdata":"7cBcOzDXMkDLT4iz8hM2QGejvrNR3zFAp6wpa8qaMkDnaq7maq4yQCVJkiRJkjxAjuM4juM4NkA="},"yaxis":"y5","type":"bar"},{"hovertemplate":"Rebuild time=30s-1m\u003cbr\u003ecode-size=2-10 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"30s-1m","marker":{"color":"#FFA15A","pattern":{"shape":""}},"name":"30s-1m","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x5","y":{"dtype":"f8","bdata":"c+3AXDswF0Avuuiiiy4iQHIFMbmCmDBA+oK+oC\u002foG0CmX\u002fqlX\u002folQCVJkiRJEiBAAAAAAAAANEA="},"yaxis":"y5","type":"bar"},{"hovertemplate":"Rebuild time=1-5m\u003cbr\u003ecode-size=2-10 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"1-5m","marker":{"color":"#19d3f3","pattern":{"shape":""}},"name":"1-5m","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x5","y":{"dtype":"f8","bdata":"FrKQhSxkIUDsHVMDe8cUQFLf2ajvbCRAPOKOuCPuJEBSGZVRGZUxQAAAAAAAAClAq6qqqqqqKkA="},"yaxis":"y5","type":"bar"},{"hovertemplate":"Rebuild time=\u003e5m\u003cbr\u003ecode-size=2-10 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"\u003e5m","marker":{"color":"#FF6692","pattern":{"shape":""}},"name":"\u003e5m","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x5","y":{"dtype":"f8","bdata":"c+3AXDsw9z\u002fsHVMDe8f0P8TkCmJyBQFAp6wpa8qaEkBSGZVRGZXxPyVJkiRJkgxAchzHcRzHEUA="},"yaxis":"y5","type":"bar"},{"hovertemplate":"Rebuild time=\u003c1s\u003cbr\u003ecode-size=11-50 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"\u003c1s","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"\u003c1s","orientation":"v","showlegend":false,"textposition":"auto","x":["11-50 dependencies","201-300 dependencies","301-500 dependencies"],"xaxis":"x6","y":{"dtype":"f8","bdata":"chzHcRzHAUAAAAAAAAAOQCVJkiRJkuw\u002f"},"yaxis":"y6","type":"bar"},{"hovertemplate":"Rebuild time=1-5s\u003cbr\u003ecode-size=11-50 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"1-5s","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"1-5s","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies","No dependencies"],"xaxis":"x6","y":{"dtype":"f8","bdata":"OY7jOI7jPEADmRQvkEk5QI7jOI7jODZAAAAAAABAMEAlSZIkSZIsQK973ete9zpAmHRqHuSuH0CrqqqqqqpQQA=="},"yaxis":"y6","type":"bar"},{"hovertemplate":"Rebuild time=5-10s\u003cbr\u003ecode-size=11-50 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"5-10s","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"5-10s","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies","No dependencies"],"xaxis":"x6","y":{"dtype":"f8","bdata":"juM4juM4NkDUCMs9jbA0QBzHcRzHcThAAAAAAACANkBu27Zt23Y9QDrMYQ5zmDdAzYPc9bPFNkCrqqqqqqpAQA=="},"yaxis":"y6","type":"bar"},{"hovertemplate":"Rebuild time=10-30s\u003cbr\u003ecode-size=11-50 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"10-30s","marker":{"color":"#ab63fa","pattern":{"shape":""}},"name":"10-30s","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x6","y":{"dtype":"f8","bdata":"OY7jOI7jPEAaYbmnEZY7QI7jOI7jODZAAAAAAAAAPkDbtm3btq07QK973ete9zpA8yB3\u002fWyxPkA="},"yaxis":"y6","type":"bar"},{"hovertemplate":"Rebuild time=30s-1m\u003cbr\u003ecode-size=11-50 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"30s-1m","marker":{"color":"#FFA15A","pattern":{"shape":""}},"name":"30s-1m","orientation":"v","showlegend":false,"textposition":"auto","x":["101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x6","y":{"dtype":"f8","bdata":"A5kUL5BJKUCrqqqqqqoqQAAAAAAAQDBASZIkSZKkI0Ag\u002fehHP\u002fohQJh0ah7kri9A"},"yaxis":"y6","type":"bar"},{"hovertemplate":"Rebuild time=1-5m\u003cbr\u003ecode-size=11-50 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"1-5m","marker":{"color":"#19d3f3","pattern":{"shape":""}},"name":"1-5m","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x6","y":{"dtype":"f8","bdata":"AAAAAAAANEDUCMs9jbAkQFVVVVVVVSdAAAAAAAAAJEAAAAAAAAApQAxc4AIXuChA8Y0oMOnUMEA="},"yaxis":"y6","type":"bar"},{"hovertemplate":"Rebuild time=\u003e5m\u003cbr\u003ecode-size=11-50 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"\u003e5m","marker":{"color":"#FF6692","pattern":{"shape":""}},"name":"\u003e5m","orientation":"v","showlegend":false,"textposition":"auto","x":["101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x6","y":{"dtype":"f8","bdata":"GmG5pxGWC0DHcRzHcRwPQAAAAAAAAPQ\u002f27Zt27ZtFUAg\u002fehHP\u002frxP3LXzxYrwxdA"},"yaxis":"y6","type":"bar"},{"hovertemplate":"Rebuild time=\u003c1s\u003cbr\u003ecode-size=51-100 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"\u003c1s","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"\u003c1s","orientation":"v","showlegend":false,"textposition":"auto","x":["101-200 dependencies","201-300 dependencies"],"xaxis":"x","y":{"dtype":"f8","bdata":"2FBeQ3kNBUAAAAAAAAAJQA=="},"yaxis":"y","type":"bar"},{"hovertemplate":"Rebuild time=1-5s\u003cbr\u003ecode-size=51-100 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"1-5s","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"1-5s","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x","y":{"dtype":"f8","bdata":"AAAAAAAAKUC9hvIaymsyQAAAAAAAADJAAAAAAAAAKUAhC1nIQhYaQPqCvqAv6CtAJUmSJEmSHEA="},"yaxis":"y","type":"bar"},{"hovertemplate":"Rebuild time=5-10s\u003cbr\u003ecode-size=51-100 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"5-10s","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"5-10s","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies","No dependencies"],"xaxis":"x","y":{"dtype":"f8","bdata":"AAAAAAAAOUAor6G8hvI8QAAAAAAAADRAAAAAAAAAKUCc3vSmN701QBJ3xB1xRzBAorE+NNaHOkAAAAAAAABZQA=="},"yaxis":"y","type":"bar"},{"hovertemplate":"Rebuild time=10-30s\u003cbr\u003ecode-size=51-100 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"10-30s","marker":{"color":"#ab63fa","pattern":{"shape":""}},"name":"10-30s","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x","y":{"dtype":"f8","bdata":"AAAAAAAAOUDYUF5DeQ0VQAAAAAAAADhAAAAAAAAAOUD1pje96U1AQGVNWVPWlDlA27Zt27ZtNUA="},"yaxis":"y","type":"bar"},{"hovertemplate":"Rebuild time=30s-1m\u003cbr\u003ecode-size=51-100 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"30s-1m","marker":{"color":"#FFA15A","pattern":{"shape":""}},"name":"30s-1m","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x","y":{"dtype":"f8","bdata":"AAAAAAAAOUDzGsprKK83QAAAAAAAACRAAAAAAADgNUAhC1nIQhYaQNAX9AV9QSdAmFPwcgpeIkA="},"yaxis":"y","type":"bar"},{"hovertemplate":"Rebuild time=1-5m\u003cbr\u003ecode-size=51-100 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"1-5m","marker":{"color":"#19d3f3","pattern":{"shape":""}},"name":"1-5m","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x","y":{"dtype":"f8","bdata":"AAAAAAAAKUBDeQ3lNZQvQAAAAAAAADZAAAAAAADAMkCnN73pTW8+QI+4I+6IOz5AHxrrQ2N9OEA="},"yaxis":"y","type":"bar"},{"hovertemplate":"Rebuild time=\u003e5m\u003cbr\u003ecode-size=51-100 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"\u003e5m","marker":{"color":"#FF6692","pattern":{"shape":""}},"name":"\u003e5m","orientation":"v","showlegend":false,"textposition":"auto","x":["101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x","y":{"dtype":"f8","bdata":"2FBeQ3kNFUAAAAAAAAAYQAAAAAAAABlAFrKQhSxkAUCnrClrypoCQJ2Cl1PwciZA"},"yaxis":"y","type":"bar"},{"hovertemplate":"Rebuild time=\u003c1s\u003cbr\u003ecode-size=101-500 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"\u003c1s","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"\u003c1s","orientation":"v","showlegend":false,"textposition":"auto","x":["More than 500 dependencies"],"xaxis":"x2","y":{"dtype":"f8","bdata":"T+zETuzE7j8="},"yaxis":"y2","type":"bar"},{"hovertemplate":"Rebuild time=1-5s\u003cbr\u003ecode-size=101-500 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"1-5s","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"1-5s","orientation":"v","showlegend":false,"textposition":"auto","x":["101-200 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x2","y":{"dtype":"f8","bdata":"E9pLaC+hLUAAAAAAAAAUQPWdjfrORiVAIQtZyEIWKkDFTuzETuwaQA=="},"yaxis":"y2","type":"bar"},{"hovertemplate":"Rebuild time=5-10s\u003cbr\u003ecode-size=101-500 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"5-10s","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"5-10s","orientation":"v","showlegend":false,"textposition":"auto","x":["101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x2","y":{"dtype":"f8","bdata":"TGgvob2EMkBP7MRO7MQuQAAAAAAAAC5AVxCTK4jJLUAWspCFLGQhQLETO7ETOyNA"},"yaxis":"y2","type":"bar"},{"hovertemplate":"Rebuild time=10-30s\u003cbr\u003ecode-size=101-500 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"10-30s","marker":{"color":"#ab63fa","pattern":{"shape":""}},"name":"10-30s","orientation":"v","showlegend":false,"textposition":"auto","x":["101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x2","y":{"dtype":"f8","bdata":"E9pLaC+hLUBP7MRO7MQ+QAAAAAAAAD5Av7NR39moO0AWspCFLGQxQCd2Yid24jtA"},"yaxis":"y2","type":"bar"},{"hovertemplate":"Rebuild time=30s-1m\u003cbr\u003ecode-size=101-500 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"30s-1m","marker":{"color":"#FFA15A","pattern":{"shape":""}},"name":"30s-1m","orientation":"v","showlegend":false,"textposition":"auto","x":["101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x2","y":{"dtype":"f8","bdata":"0V5CewntOUBP7MRO7MQuQAAAAAAAADRAVxCTK4jJLUCc3vSmN701QBQ7sRM7MTRA"},"yaxis":"y2","type":"bar"},{"hovertemplate":"Rebuild time=1-5m\u003cbr\u003ecode-size=101-500 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"1-5m","marker":{"color":"#19d3f3","pattern":{"shape":""}},"name":"1-5m","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x2","y":{"dtype":"f8","bdata":"AAAAAAAASUBMaC+hvYQyQLETO7ETO0NAAAAAAAAANEC\u002fs1Hf2ag7QBaykIUsZEFAT+zETuzEPkA="},"yaxis":"y2","type":"bar"},{"hovertemplate":"Rebuild time=\u003e5m\u003cbr\u003ecode-size=101-500 thousand lines\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"\u003e5m","marker":{"color":"#FF6692","pattern":{"shape":""}},"name":"\u003e5m","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x2","y":{"dtype":"f8","bdata":"AAAAAAAASUAT2ktoL6EdQAAAAAAAACRAxOQKYnIFEUAWspCFLGQRQE\u002fsxE7sxA5A"},"yaxis":"y2","type":"bar"},{"hovertemplate":"Rebuild time=\u003c1s\u003cbr\u003ecode-size=More than 500 thousand lines of code\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"\u003c1s","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"\u003c1s","orientation":"v","showlegend":false,"textposition":"auto","x":["51-100 dependencies"],"xaxis":"x3","y":{"dtype":"f8","bdata":"AAAAAAAAKUA="},"yaxis":"y3","type":"bar"},{"hovertemplate":"Rebuild time=1-5s\u003cbr\u003ecode-size=More than 500 thousand lines of code\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"1-5s","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"1-5s","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x3","y":{"dtype":"f8","bdata":"q6qqqqqqQECO4ziO4zgmQCVJkiRJkhxAAAAAAAAAKUBfX19fX18PQA=="},"yaxis":"y3","type":"bar"},{"hovertemplate":"Rebuild time=5-10s\u003cbr\u003ecode-size=More than 500 thousand lines of code\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"5-10s","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"5-10s","orientation":"v","showlegend":false,"textposition":"auto","x":["101-200 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x3","y":{"dtype":"f8","bdata":"juM4juM4JkBP7MRO7MQeQCVJkiRJkhxAAAAAAAAAOUBfX19fX1\u002f\u002fPw=="},"yaxis":"y3","type":"bar"},{"hovertemplate":"Rebuild time=10-30s\u003cbr\u003ecode-size=More than 500 thousand lines of code\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"10-30s","marker":{"color":"#ab63fa","pattern":{"shape":""}},"name":"10-30s","orientation":"v","showlegend":false,"textposition":"auto","x":["101-200 dependencies","201-300 dependencies","301-500 dependencies","More than 500 dependencies"],"xaxis":"x3","y":{"dtype":"f8","bdata":"juM4juM4NkBP7MRO7MQuQCVJkiRJkixAkpGRkZGRNUA="},"yaxis":"y3","type":"bar"},{"hovertemplate":"Rebuild time=30s-1m\u003cbr\u003ecode-size=More than 500 thousand lines of code\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"30s-1m","marker":{"color":"#FFA15A","pattern":{"shape":""}},"name":"30s-1m","orientation":"v","showlegend":false,"textposition":"auto","x":["101-200 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x3","y":{"dtype":"f8","bdata":"juM4juM4NkBP7MRO7MQuQCVJkiRJkjxAAAAAAADAQkCmpaWlpaUxQA=="},"yaxis":"y3","type":"bar"},{"hovertemplate":"Rebuild time=1-5m\u003cbr\u003ecode-size=More than 500 thousand lines of code\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"1-5m","marker":{"color":"#19d3f3","pattern":{"shape":""}},"name":"1-5m","orientation":"v","showlegend":false,"textposition":"auto","x":["1-10 dependencies","101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","More than 500 dependencies"],"xaxis":"x3","y":{"dtype":"f8","bdata":"q6qqqqqqUECO4ziO4zg2QAAAAAAAAERAO7ETO7ETR0AlSZIkSZI8QH19fX19fTlA"},"yaxis":"y3","type":"bar"},{"hovertemplate":"Rebuild time=\u003e5m\u003cbr\u003ecode-size=More than 500 thousand lines of code\u003cbr\u003e=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"\u003e5m","marker":{"color":"#FF6692","pattern":{"shape":""}},"name":"\u003e5m","orientation":"v","showlegend":false,"textposition":"auto","x":["101-200 dependencies","11-50 dependencies","201-300 dependencies","301-500 dependencies","51-100 dependencies","More than 500 dependencies"],"xaxis":"x3","y":{"dtype":"f8","bdata":"juM4juM4JkAAAAAAAABOQE\u002fsxE7sxC5AJUmSJEmSLEAAAAAAAAApQGlpaWlpaT1A"},"yaxis":"y3","type":"bar"}], {"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,0.3],"title":{"text":""},"categoryorder":"array","categoryarray":["No dependencies","1-10 dependencies","11-50 dependencies","51-100 dependencies","101-200 dependencies","201-300 dependencies","301-500 dependencies","More than 500 dependencies"]},"yaxis":{"anchor":"x","domain":[0.0,0.46499999999999997],"title":{"text":"Percentage (%)"}},"xaxis2":{"anchor":"y2","domain":[0.35,0.6499999999999999],"matches":"x","title":{"text":""},"categoryorder":"array","categoryarray":["No dependencies","1-10 dependencies","11-50 dependencies","51-100 dependencies","101-200 dependencies","201-300 dependencies","301-500 dependencies","More than 500 dependencies"]},"yaxis2":{"anchor":"x2","domain":[0.0,0.46499999999999997],"matches":"y","showticklabels":false},"xaxis3":{"anchor":"y3","domain":[0.7,1.0],"matches":"x","title":{"text":""},"categoryorder":"array","categoryarray":["No dependencies","1-10 dependencies","11-50 dependencies","51-100 dependencies","101-200 dependencies","201-300 dependencies","301-500 dependencies","More than 500 dependencies"]},"yaxis3":{"anchor":"x3","domain":[0.0,0.46499999999999997],"matches":"y","showticklabels":false},"xaxis4":{"anchor":"y4","domain":[0.0,0.3],"matches":"x","showticklabels":false},"yaxis4":{"anchor":"x4","domain":[0.5349999999999999,0.9999999999999999],"matches":"y","title":{"text":"Percentage (%)"}},"xaxis5":{"anchor":"y5","domain":[0.35,0.6499999999999999],"matches":"x","showticklabels":false},"yaxis5":{"anchor":"x5","domain":[0.5349999999999999,0.9999999999999999],"matches":"y","showticklabels":false},"xaxis6":{"anchor":"y6","domain":[0.7,1.0],"matches":"x","showticklabels":false},"yaxis6":{"anchor":"x6","domain":[0.5349999999999999,0.9999999999999999],"matches":"y","showticklabels":false},"annotations":[{"font":{},"showarrow":false,"text":"51-100 thousand lines","x":0.15,"xanchor":"center","xref":"paper","y":0.46499999999999997,"yanchor":"bottom","yref":"paper"},{"font":{},"showarrow":false,"text":"101-500 thousand lines","x":0.49999999999999994,"xanchor":"center","xref":"paper","y":0.46499999999999997,"yanchor":"bottom","yref":"paper"},{"font":{},"showarrow":false,"text":"More than 500 thousand lines of code","x":0.85,"xanchor":"center","xref":"paper","y":0.46499999999999997,"yanchor":"bottom","yref":"paper"},{"font":{},"showarrow":false,"text":"Less than 2 thousand lines","x":0.15,"xanchor":"center","xref":"paper","y":0.9999999999999999,"yanchor":"bottom","yref":"paper"},{"font":{},"showarrow":false,"text":"2-10 thousand lines","x":0.49999999999999994,"xanchor":"center","xref":"paper","y":0.9999999999999999,"yanchor":"bottom","yref":"paper"},{"font":{},"showarrow":false,"text":"11-50 thousand lines","x":0.85,"xanchor":"center","xref":"paper","y":0.9999999999999999,"yanchor":"bottom","yref":"paper"}],"legend":{"title":{"text":"Rebuild time"},"tracegroupgap":0},"title":{"text":"\u003cb\u003eAverage rebuild time based on project size and dependency count (%)\u003c\u002fb\u003e\u003cbr \u002f\u003e\u003cspan style=\"font-size: 0.8em;\"\u003eThe percentages are relative to each individual group on the X axis\u003c\u002fspan\u003e"},"barmode":"relative","height":800}, {"modeBarButtonsToRemove": ["zoom", "pan", "lasso2d", "select", "autoScale", "toImage"], "displaylogo": false, "responsive": true} ) }; + +window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("cargo-commands")) { Plotly.newPlot( "cargo-commands", [{"customdata":[["After every code change"],["After every code change"],["After every code change"],["After every code change"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"After every code change","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"After every code change","orientation":"h","showlegend":true,"text":["36.98%","26.21%","11.68%","32.30%"],"textposition":"inside","x":{"dtype":"f8","bdata":"Y6hqk859QkBWGhiXkzY6QFGtsy+iWidAAC2iJv8lQEA="},"xaxis":"x","y":["cargo check","cargo clippy","cargo test","cargo run \u002f cargo\u003cbr \u002f\u003ebuild"],"yaxis":"y","type":"bar"},{"customdata":[["Only after I have resolved other issues"],["Only after I have resolved other issues"],["Only after I have resolved other issues"],["Only after I have resolved other issues"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Only after I have resolved other issues","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"Only after I have resolved other issues","orientation":"h","showlegend":true,"text":["21.06%","20.16%","43.02%","45.36%"],"textposition":"inside","x":{"dtype":"f8","bdata":"DFVt0rkPNUCb8PIwWSg0QMsW50TqgkVALikNc6OtRkA="},"xaxis":"x","y":["cargo check","cargo clippy","cargo test","cargo run \u002f cargo\u003cbr \u002f\u003ebuild"],"yaxis":"y","type":"bar"},{"customdata":[["Only after I am done (e.g. before committing code)"],["Only after I am done (e.g. before committing code)"],["Only after I am done (e.g. before committing code)"],["Only after I am done (e.g. before committing code)"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Only after I am done (e.g. before committing code)","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"Only after I am done (e.g. before committing code)","orientation":"h","showlegend":true,"text":["15.04%","41.19%","35.90%","20.02%"],"textposition":"inside","x":{"dtype":"f8","bdata":"WzCcLHcWLkDasZ9g1pdEQKT5g41H80FA0XyuP14GNEA="},"xaxis":"x","y":["cargo check","cargo clippy","cargo test","cargo run \u002f cargo\u003cbr \u002f\u003ebuild"],"yaxis":"y","type":"bar"},{"customdata":[["Never"],["Never"],["Never"],["Never"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Never","marker":{"color":"#ab63fa","pattern":{"shape":""}},"name":"Never","orientation":"h","showlegend":true,"text":["26.91%","12.44%","9.40%","2.32%"],"textposition":"inside","x":{"dtype":"f8","bdata":"AkJvcG3pOkC5ImvtzOIoQPYQoIaWzCJAjbaWZ+SSAkA="},"xaxis":"x","y":["cargo check","cargo clippy","cargo test","cargo run \u002f cargo\u003cbr \u002f\u003ebuild"],"yaxis":"y","type":"bar"}], {"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{},"fixedrange":true,"range":[0,100],"ticksuffix":"%","showgrid":false},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{},"categoryorder":"array","categoryarray":["cargo test","cargo clippy","cargo check","cargo run \u002f cargo\u003cbr \u002f\u003ebuild"],"tickangle":0,"fixedrange":true,"ticksuffix":""},"legend":{"title":{"text":"Severity"},"tracegroupgap":0,"orientation":"h","y":-0.05},"title":{"text":"\u003cb\u003eIf you use Cargo, how often do you use the following commands after each\u003cbr \u002f\u003echange to Rust code?\u003c\u002fb\u003e\u003cbr \u002f\u003e\u003cspan style=\"font-size: 0.8em;\"\u003e(total responses = 2437)\u003c\u002fspan\u003e"},"barmode":"relative","height":500,"hoverlabel":{"font":{"size":16,"family":"Rockwell"},"bgcolor":"white"},"meta":"matrix-chart","dragmode":"pan"}, {"modeBarButtonsToRemove": ["zoom", "pan", "lasso2d", "select", "autoScale", "toImage"], "displaylogo": false, "responsive": true} ) }; + +window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("debugger")) { Plotly.newPlot( "debugger", [{"alignmentgroup":"True","customdata":[["2025",1246],["2025",730],["2025",282],["2025",62]],"hovertemplate":"Year: %{customdata[0]}\u003cbr \u002f\u003eCount: %{customdata[1]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"2025","marker":{"color":"#636EFA","pattern":{"shape":""}},"name":"2025","offsetgroup":"2025","orientation":"v","showlegend":true,"text":["53.7%","31.5%","12.2%","2.7%"],"textposition":"outside","x":["\u003cspan style='font-size: 1.3em'\u003eNever or very rarely\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eSometimes (e.g. once per week\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003eor less)\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eOften (e.g. multiple times per\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003eday)\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eAlmost always (e.g. after\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003ealmost every build)\u003c\u002fspan\u003e"],"xaxis":"x","y":{"dtype":"f8","bdata":"AAAAoHvaSkAAAABALHc\u002fQAAAAMByTyhAAAAAgBphBUA="},"yaxis":"y","type":"bar","textangle":0}], {"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{},"categoryorder":"array","categoryarray":["\u003cspan style='font-size: 1.3em'\u003eNever or very rarely\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eSometimes (e.g. once per week\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003eor less)\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eOften (e.g. multiple times per\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003eday)\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eAlmost always (e.g. after\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003ealmost every build)\u003c\u002fspan\u003e"],"tickfont":{"size":9},"tickangle":30},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{"text":"Percent out of all responses (%)","standoff":25},"range":[0,119],"ticksuffix":"%","fixedrange":true,"nticks":10,"rangemode":"tozero","gridcolor":"rgb(229, 236, 246)"},"legend":{"title":{"text":"Year"},"tracegroupgap":0},"margin":{"t":60,"pad":10,"b":10},"barmode":"group","height":500,"hoverlabel":{"font":{"size":16,"family":"Rockwell"},"bgcolor":"white"},"title":{"text":"\u003cb\u003eHow often do you use a debugger to debug your Rust code?\u003c\u002fb\u003e\u003cbr \u002f\u003e\u003cspan style=\"font-size: 0.8em;\"\u003e(total responses = 2320, single answer)\u003c\u002fspan\u003e"},"uniformtext":{"minsize":12,"mode":"show"},"meta":"bar-chart","hovermode":"x unified","plot_bgcolor":"rgb(255, 255, 255)","showlegend":false,"dragmode":"pan"}, {"modeBarButtonsToRemove": ["zoom", "pan", "lasso2d", "select", "autoScale", "toImage"], "displaylogo": false, "responsive": true} ) }; + +window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("required-debuginfo")) { Plotly.newPlot( "required-debuginfo", [{"alignmentgroup":"True","customdata":[["2025",742],["2025",731],["2025",802]],"hovertemplate":"Year: %{customdata[0]}\u003cbr \u002f\u003eCount: %{customdata[1]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"2025","marker":{"color":"#636EFA","pattern":{"shape":""}},"name":"2025","offsetgroup":"2025","orientation":"v","showlegend":true,"text":["32.6%","32.1%","35.3%"],"textposition":"outside","x":["\u003cspan style='font-size: 1.3em'\u003eYes, I want full debuginfo by\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003edefault\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eYes, but I do not need full\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003edebuginfo for my dependencies,\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003ejust for my code\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eNo, I would prefer slightly\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003efaster compilation with less\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003edebuginfo by default\u003c\u002fspan\u003e"],"xaxis":"x","y":{"dtype":"f8","bdata":"AAAA4MROQEAAAAAg4RBAQAAAAABaoEFA"},"yaxis":"y","type":"bar","textangle":0}], {"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{},"categoryorder":"array","categoryarray":["\u003cspan style='font-size: 1.3em'\u003eNo, I would prefer slightly\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003efaster compilation with less\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003edebuginfo by default\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eYes, I want full debuginfo by\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003edefault\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eYes, but I do not need full\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003edebuginfo for my dependencies,\u003c\u002fspan\u003e\u003cbr \u002f\u003e\u003cspan style='font-size: 1.3em'\u003ejust for my code\u003c\u002fspan\u003e"],"tickfont":{"size":9},"tickangle":0},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{"text":"Percent out of all responses (%)","standoff":50},"range":[0,119],"ticksuffix":"%","fixedrange":true,"nticks":10,"rangemode":"tozero","gridcolor":"rgb(229, 236, 246)"},"legend":{"title":{"text":"Year"},"tracegroupgap":0},"margin":{"t":60,"pad":10,"b":10},"barmode":"group","height":400,"hoverlabel":{"font":{"size":16,"family":"Rockwell"},"bgcolor":"white"},"title":{"text":"\u003cb\u003eDo you require unoptimized builds to have debuginfo by default?\u003c\u002fb\u003e\u003cbr \u002f\u003e\u003cspan style=\"font-size: 0.8em;\"\u003e(total responses = 2275, single answer)\u003c\u002fspan\u003e"},"uniformtext":{"minsize":12,"mode":"show"},"meta":"bar-chart","hovermode":"x unified","plot_bgcolor":"rgb(255, 255, 255)","showlegend":false,"dragmode":"pan"}, {"modeBarButtonsToRemove": ["zoom", "pan", "lasso2d", "select", "autoScale", "toImage"], "displaylogo": false, "responsive": true} ) }; + +window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("required-debuginfo-debugger")) { Plotly.newPlot( "required-debuginfo-debugger", [{"hovertemplate":"Do you require debuginfo?=Yes\u003cbr\u003eDo you use a debugger?=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Yes","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"Yes","orientation":"v","showlegend":true,"textposition":"auto","x":["Almost always","Never or very rarely","Often","Sometimes"],"xaxis":"x","y":{"dtype":"f8","bdata":"W2uttdZaU0CmShGJJbk3QDugG\u002fP00UhAlscVz6yMQkA="},"yaxis":"y","type":"bar"},{"hovertemplate":"Do you require debuginfo?=Only for my code\u003cbr\u003eDo you use a debugger?=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Only for my code","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"Only for my code","orientation":"v","showlegend":true,"textposition":"auto","x":["Almost always","Never or very rarely","Often","Sometimes"],"xaxis":"x","y":{"dtype":"f8","bdata":"IYQQQgghIEDerwGEmew7QJmnj1aTEENA2CqozcB0Q0A="},"yaxis":"y","type":"bar"},{"hovertemplate":"Do you require debuginfo?=No\u003cbr\u003eDo you use a debugger?=%{x}\u003cbr\u003ePercentage (%)=%{y}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"No","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"No","orientation":"v","showlegend":true,"textposition":"auto","x":["Almost always","Never or very rarely","Often","Sometimes"],"xaxis":"x","y":{"dtype":"f8","bdata":"CCGEEEIILUC+gnZ5IC1IQLHgUtnedShAIxuExiT9N0A="},"yaxis":"y","type":"bar"}], {"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{"text":"Do you use a debugger?"},"categoryorder":"array","categoryarray":["Almost always","Often","Sometimes","Never or very rarely"]},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{"text":"Percentage (%)"}},"legend":{"title":{"text":"Do you require debuginfo?"},"tracegroupgap":0},"title":{"text":"\u003cb\u003eDebuginfo requirement based on the usage of a debugger (%)\u003c\u002fb\u003e\u003cbr \u002f\u003e\u003cspan style=\"font-size: 0.8em;\"\u003eThe percentages are relative to each individual group on the X axis\u003c\u002fspan\u003e"},"barmode":"relative","height":400}, {"modeBarButtonsToRemove": ["zoom", "pan", "lasso2d", "select", "autoScale", "toImage"], "displaylogo": false, "responsive": true} ) }; + +window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("compile-time-improvement-mechanisms")) { Plotly.newPlot( "compile-time-improvement-mechanisms", [{"customdata":[["It helps me improve compile times"],["It helps me improve compile times"],["It helps me improve compile times"],["It helps me improve compile times"],["It helps me improve compile times"],["It helps me improve compile times"],["It helps me improve compile times"],["It helps me improve compile times"],["It helps me improve compile times"],["It helps me improve compile times"],["It helps me improve compile times"],["It helps me improve compile times"],["It helps me improve compile times"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"It helps me improve compile times","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"It helps me improve compile times","orientation":"h","showlegend":true,"text":["21.82%","13.70%","8.19%","35.42%","16.04%","9.58%","41.45%","53.06%","45.75%","39.28%","26.93%","12.35%","11.38%"],"textposition":"inside","x":{"dtype":"f8","bdata":"5ZrdQEvSNUDrNqkcNmgrQP0F9BfQXyBAYQu2YAu2QUC8lX0OqQkwQKWi2sbVKCNAMdLQ3DO6RECisT401odKQC5wgQtc4EZAEX\u002fcuryjQ0C\u002f66YKj+46QDFWUBXhsyhAPtOkiLfBJkA="},"xaxis":"x","y":["Disable or reduce\u003cbr \u002f\u003edebuginfo","Parallel compiler\u003cbr \u002f\u003efrontend","Cranelift backend","Alternative linker","Caching compiler\u003cbr \u002f\u003ewrapper","Share target\u003cbr \u002f\u003edirectory","Split crates","Reduce dependency\u003cbr \u002f\u003ecount","Disable default\u003cbr \u002f\u003eCargo features of\u003cbr \u002f\u003edependencies","Create opt-in Cargo\u003cbr \u002f\u003efeatures","Reduce usage of\u003cbr \u002f\u003eprocedural macros","Reduce usage of\u003cbr \u002f\u003egeneric code","Merge integration\u003cbr \u002f\u003etests into a single\u003cbr \u002f\u003ebinary"],"yaxis":"y","type":"bar"},{"customdata":[["I tried it, but it didn't help"],["I tried it, but it didn't help"],["I tried it, but it didn't help"],["I tried it, but it didn't help"],["I tried it, but it didn't help"],["I tried it, but it didn't help"],["I tried it, but it didn't help"],["I tried it, but it didn't help"],["I tried it, but it didn't help"],["I tried it, but it didn't help"],["I tried it, but it didn't help"],["I tried it, but it didn't help"],["I tried it, but it didn't help"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"I tried it, but it didn't help","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"I tried it, but it didn't help","orientation":"h","showlegend":true,"text":["14.02%","10.52%","5.40%","12.00%","12.62%","7.82%","14.68%","12.79%","14.56%","14.23%","11.07%","10.02%","3.98%"],"textposition":"inside","x":{"dtype":"f8","bdata":"yS9tixQLLEA1XetTRAwlQHtZOVKqlxVAAAAAAAAAKECnI+2hQD8pQJU+550PRR9A4Fh29KRcLUBl4kr3BpQpQNKPfvSjHy1AGuKPW5d3LECQHKRSeiEmQNLZxmNeCSRAm\u002fny7ofSD0A="},"xaxis":"x","y":["Disable or reduce\u003cbr \u002f\u003edebuginfo","Parallel compiler\u003cbr \u002f\u003efrontend","Cranelift backend","Alternative linker","Caching compiler\u003cbr \u002f\u003ewrapper","Share target\u003cbr \u002f\u003edirectory","Split crates","Reduce dependency\u003cbr \u002f\u003ecount","Disable default\u003cbr \u002f\u003eCargo features of\u003cbr \u002f\u003edependencies","Create opt-in Cargo\u003cbr \u002f\u003efeatures","Reduce usage of\u003cbr \u002f\u003eprocedural macros","Reduce usage of\u003cbr \u002f\u003egeneric code","Merge integration\u003cbr \u002f\u003etests into a single\u003cbr \u002f\u003ebinary"],"yaxis":"y","type":"bar"},{"customdata":[["I know of it, but haven't tried it"],["I know of it, but haven't tried it"],["I know of it, but haven't tried it"],["I know of it, but haven't tried it"],["I know of it, but haven't tried it"],["I know of it, but haven't tried it"],["I know of it, but haven't tried it"],["I know of it, but haven't tried it"],["I know of it, but haven't tried it"],["I know of it, but haven't tried it"],["I know of it, but haven't tried it"],["I know of it, but haven't tried it"],["I know of it, but haven't tried it"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"I know of it, but haven't tried it","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"I know of it, but haven't tried it","orientation":"h","showlegend":true,"text":["44.41%","37.75%","52.81%","36.93%","39.94%","36.78%","37.08%","31.34%","28.54%","36.04%","53.22%","62.08%","36.12%"],"textposition":"inside","x":{"dtype":"f8","bdata":"+rEJfmY0RkCqXcddPuBCQH5mWsHfZ0pAeHd3d3d3QkCOWJce8\u002fdDQLbZLs8tZEJAEDOB1XOKQkDVEHuMflY\u002fQAhFKEIRijxAty7vgCMFQkBFMx66npxKQLdkKk\u002fWCU9AOzbz5d0PQkA="},"xaxis":"x","y":["Disable or reduce\u003cbr \u002f\u003edebuginfo","Parallel compiler\u003cbr \u002f\u003efrontend","Cranelift backend","Alternative linker","Caching compiler\u003cbr \u002f\u003ewrapper","Share target\u003cbr \u002f\u003edirectory","Split crates","Reduce dependency\u003cbr \u002f\u003ecount","Disable default\u003cbr \u002f\u003eCargo features of\u003cbr \u002f\u003edependencies","Create opt-in Cargo\u003cbr \u002f\u003efeatures","Reduce usage of\u003cbr \u002f\u003eprocedural macros","Reduce usage of\u003cbr \u002f\u003egeneric code","Merge integration\u003cbr \u002f\u003etests into a single\u003cbr \u002f\u003ebinary"],"yaxis":"y","type":"bar"},{"customdata":[["Never heard of it"],["Never heard of it"],["Never heard of it"],["Never heard of it"],["Never heard of it"],["Never heard of it"],["Never heard of it"],["Never heard of it"],["Never heard of it"],["Never heard of it"],["Never heard of it"],["Never heard of it"],["Never heard of it"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Never heard of it","marker":{"color":"#ab63fa","pattern":{"shape":""}},"name":"Never heard of it","orientation":"h","showlegend":true,"text":["19.75%","38.02%","33.60%","15.64%","31.40%","45.82%","6.78%","2.81%","11.15%","10.45%","8.78%","15.55%","48.52%"],"textposition":"inside","x":{"dtype":"f8","bdata":"Q2lYfV2\u002fM0BPfRMGowJDQNRsYe42zUBAn\u002fRJn\u002fRJL0BUJ11j0GY\u002fQM6VXcv66EZANySDhHghG0Cg1RB7jH4GQGUlK1nJSiZAxmZBtefkJEDbPpWv7I4hQCI9P0pnGy9AXGX0uItCSEA="},"xaxis":"x","y":["Disable or reduce\u003cbr \u002f\u003edebuginfo","Parallel compiler\u003cbr \u002f\u003efrontend","Cranelift backend","Alternative linker","Caching compiler\u003cbr \u002f\u003ewrapper","Share target\u003cbr \u002f\u003edirectory","Split crates","Reduce dependency\u003cbr \u002f\u003ecount","Disable default\u003cbr \u002f\u003eCargo features of\u003cbr \u002f\u003edependencies","Create opt-in Cargo\u003cbr \u002f\u003efeatures","Reduce usage of\u003cbr \u002f\u003eprocedural macros","Reduce usage of\u003cbr \u002f\u003egeneric code","Merge integration\u003cbr \u002f\u003etests into a single\u003cbr \u002f\u003ebinary"],"yaxis":"y","type":"bar"}], {"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{},"fixedrange":true,"range":[0,100],"ticksuffix":"%","showgrid":false},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{},"categoryorder":"array","categoryarray":["Merge integration\u003cbr \u002f\u003etests into a single\u003cbr \u002f\u003ebinary","Share target\u003cbr \u002f\u003edirectory","Cranelift backend","Parallel compiler\u003cbr \u002f\u003efrontend","Caching compiler\u003cbr \u002f\u003ewrapper","Reduce usage of\u003cbr \u002f\u003egeneric code","Disable or reduce\u003cbr \u002f\u003edebuginfo","Reduce usage of\u003cbr \u002f\u003eprocedural macros","Alternative linker","Create opt-in Cargo\u003cbr \u002f\u003efeatures","Split crates","Disable default\u003cbr \u002f\u003eCargo features of\u003cbr \u002f\u003edependencies","Reduce dependency\u003cbr \u002f\u003ecount"],"tickangle":0,"fixedrange":true,"ticksuffix":""},"legend":{"title":{"text":"Severity"},"tracegroupgap":0,"orientation":"h","y":-0.05},"title":{"text":"\u003cb\u003eHave you used any of the following mechanisms to improve compilation\u003cbr \u002f\u003eperformance?\u003c\u002fb\u003e\u003cbr \u002f\u003e\u003cspan style=\"font-size: 0.8em;\"\u003e(total responses = 2305)\u003c\u002fspan\u003e"},"barmode":"relative","height":800,"hoverlabel":{"font":{"size":16,"family":"Rockwell"},"bgcolor":"white"},"meta":"matrix-chart","dragmode":"pan"}, {"modeBarButtonsToRemove": ["zoom", "pan", "lasso2d", "select", "autoScale", "toImage"], "displaylogo": false, "responsive": true} ) }; + +window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("alternative-linker")) { Plotly.newPlot( "alternative-linker", [{"alignmentgroup":"True","customdata":[["2025",36],["2025",541],["2025",753],["2025",76],["2025",40]],"hovertemplate":"Year: %{customdata[0]}\u003cbr \u002f\u003eCount: %{customdata[1]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"2025","marker":{"color":"#636EFA","pattern":{"shape":""}},"name":"2025","offsetgroup":"2025","orientation":"v","showlegend":true,"text":["3.1%","46.9%","65.3%","6.6%","3.5%"],"textposition":"outside","x":["\u003cspan style='font-size: 1.3em'\u003egold\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003elld\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003emold\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003ewild\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eOther\u003c\u002fspan\u003e"],"xaxis":"x","y":{"dtype":"f8","bdata":"AAAAgOj0CEAAAACAsXBHQAAAAGAVUFBAAAAAANlXGkAAAACAyboLQA=="},"yaxis":"y","type":"bar","textangle":0}], {"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{},"categoryorder":"array","categoryarray":["\u003cspan style='font-size: 1.3em'\u003emold\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003elld\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003ewild\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003eOther\u003c\u002fspan\u003e","\u003cspan style='font-size: 1.3em'\u003egold\u003c\u002fspan\u003e"],"tickfont":{"size":9},"tickangle":0},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{"text":"Percent out of all responses (%)","standoff":25},"range":[0,119],"ticksuffix":"%","fixedrange":true,"nticks":10,"rangemode":"tozero","gridcolor":"rgb(229, 236, 246)"},"legend":{"title":{"text":"Year"},"tracegroupgap":0},"margin":{"t":60,"pad":10,"b":10},"barmode":"group","height":500,"hoverlabel":{"font":{"size":16,"family":"Rockwell"},"bgcolor":"white"},"title":{"text":"\u003cb\u003eIf you use an alternative linker, which one do you use?\u003c\u002fb\u003e\u003cbr \u002f\u003e\u003cspan style=\"font-size: 0.8em;\"\u003e(total responses = 1154, multiple answers)\u003c\u002fspan\u003e"},"uniformtext":{"minsize":12,"mode":"show"},"meta":"bar-chart","hovermode":"x unified","plot_bgcolor":"rgb(255, 255, 255)","showlegend":false,"dragmode":"pan"}, {"modeBarButtonsToRemove": ["zoom", "pan", "lasso2d", "select", "autoScale", "toImage"], "displaylogo": false, "responsive": true} ) }; + +window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById("profiling-tools")) { Plotly.newPlot( "profiling-tools", [{"customdata":[["I use it"],["I use it"],["I use it"],["I use it"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"I use it","marker":{"color":"#636efa","pattern":{"shape":""}},"name":"I use it","orientation":"h","showlegend":true,"text":["6.13%","5.40%","6.13%","18.93%"],"textposition":"inside","x":{"dtype":"f8","bdata":"TQ3sHVODGEAOiD1QhJkVQE0N7B1TgxhAPTUA0X3tMkA="},"xaxis":"x","y":["Compiler self\u003cbr \u002f\u003eprofiler (-Zself-\u003cbr \u002f\u003eprofile)","Compiler pass\u003cbr \u002f\u003eanalysis (-Ztime-\u003cbr \u002f\u003epasses)","LLVM function\u003cbr \u002f\u003einstantiation\u003cbr \u002f\u003eanalysis (cargo-\u003cbr \u002f\u003ellvm-lines)","Cargo timings (cargo\u003cbr \u002f\u003ebuild --timings)"],"yaxis":"y","type":"bar"},{"customdata":[["I know of it, but don't use it"],["I know of it, but don't use it"],["I know of it, but don't use it"],["I know of it, but don't use it"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"I know of it, but don't use it","marker":{"color":"#EF553B","pattern":{"shape":""}},"name":"I know of it, but don't use it","orientation":"h","showlegend":true,"text":["29.55%","25.78%","23.01%","34.28%"],"textposition":"inside","x":{"dtype":"f8","bdata":"jC666KKLPUAi6aPJFMg5QKOLLrroAjdATeNVLfojQUA="},"xaxis":"x","y":["Compiler self\u003cbr \u002f\u003eprofiler (-Zself-\u003cbr \u002f\u003eprofile)","Compiler pass\u003cbr \u002f\u003eanalysis (-Ztime-\u003cbr \u002f\u003epasses)","LLVM function\u003cbr \u002f\u003einstantiation\u003cbr \u002f\u003eanalysis (cargo-\u003cbr \u002f\u003ellvm-lines)","Cargo timings (cargo\u003cbr \u002f\u003ebuild --timings)"],"yaxis":"y","type":"bar"},{"customdata":[["Never heard of it"],["Never heard of it"],["Never heard of it"],["Never heard of it"]],"hovertemplate":"Category: %{y}\u003cbr \u002f\u003eSeverity: %{customdata[0]}\u003cbr \u002f\u003ePercent: %{text}\u003cextra\u003e\u003c\u002fextra\u003e","legendgroup":"Never heard of it","marker":{"color":"#00cc96","pattern":{"shape":""}},"name":"Never heard of it","orientation":"h","showlegend":true,"text":["64.33%","68.82%","70.86%","46.79%"],"textposition":"inside","x":{"dtype":"f8","bdata":"iLPyE+IUUEA3LZOIYjRRQEKclZ8Qt1FAFQIq6kZlR0A="},"xaxis":"x","y":["Compiler self\u003cbr \u002f\u003eprofiler (-Zself-\u003cbr \u002f\u003eprofile)","Compiler pass\u003cbr \u002f\u003eanalysis (-Ztime-\u003cbr \u002f\u003epasses)","LLVM function\u003cbr \u002f\u003einstantiation\u003cbr \u002f\u003eanalysis (cargo-\u003cbr \u002f\u003ellvm-lines)","Cargo timings (cargo\u003cbr \u002f\u003ebuild --timings)"],"yaxis":"y","type":"bar"}], {"template":{"data":{"histogram2dcontour":[{"type":"histogram2dcontour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"choropleth":[{"type":"choropleth","colorbar":{"outlinewidth":0,"ticks":""}}],"histogram2d":[{"type":"histogram2d","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"heatmap":[{"type":"heatmap","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"contourcarpet":[{"type":"contourcarpet","colorbar":{"outlinewidth":0,"ticks":""}}],"contour":[{"type":"contour","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"surface":[{"type":"surface","colorbar":{"outlinewidth":0,"ticks":""},"colorscale":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]]}],"mesh3d":[{"type":"mesh3d","colorbar":{"outlinewidth":0,"ticks":""}}],"scatter":[{"fillpattern":{"fillmode":"overlay","size":10,"solidity":0.2},"type":"scatter"}],"parcoords":[{"type":"parcoords","line":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolargl":[{"type":"scatterpolargl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"bar":[{"error_x":{"color":"#2a3f5f"},"error_y":{"color":"#2a3f5f"},"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"bar"}],"scattergeo":[{"type":"scattergeo","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterpolar":[{"type":"scatterpolar","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"histogram":[{"marker":{"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"histogram"}],"scattergl":[{"type":"scattergl","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatter3d":[{"type":"scatter3d","line":{"colorbar":{"outlinewidth":0,"ticks":""}},"marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermap":[{"type":"scattermap","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattermapbox":[{"type":"scattermapbox","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scatterternary":[{"type":"scatterternary","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"scattercarpet":[{"type":"scattercarpet","marker":{"colorbar":{"outlinewidth":0,"ticks":""}}}],"carpet":[{"aaxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"baxis":{"endlinecolor":"#2a3f5f","gridcolor":"white","linecolor":"white","minorgridcolor":"white","startlinecolor":"#2a3f5f"},"type":"carpet"}],"table":[{"cells":{"fill":{"color":"#EBF0F8"},"line":{"color":"white"}},"header":{"fill":{"color":"#C8D4E3"},"line":{"color":"white"}},"type":"table"}],"barpolar":[{"marker":{"line":{"color":"#E5ECF6","width":0.5},"pattern":{"fillmode":"overlay","size":10,"solidity":0.2}},"type":"barpolar"}],"pie":[{"automargin":true,"type":"pie"}]},"layout":{"autotypenumbers":"strict","colorway":["#636efa","#EF553B","#00cc96","#ab63fa","#FFA15A","#19d3f3","#FF6692","#B6E880","#FF97FF","#FECB52"],"font":{"color":"#2a3f5f"},"hovermode":"closest","hoverlabel":{"align":"left"},"paper_bgcolor":"white","plot_bgcolor":"#E5ECF6","polar":{"bgcolor":"#E5ECF6","angularaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"radialaxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"ternary":{"bgcolor":"#E5ECF6","aaxis":{"gridcolor":"white","linecolor":"white","ticks":""},"baxis":{"gridcolor":"white","linecolor":"white","ticks":""},"caxis":{"gridcolor":"white","linecolor":"white","ticks":""}},"coloraxis":{"colorbar":{"outlinewidth":0,"ticks":""}},"colorscale":{"sequential":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"sequentialminus":[[0.0,"#0d0887"],[0.1111111111111111,"#46039f"],[0.2222222222222222,"#7201a8"],[0.3333333333333333,"#9c179e"],[0.4444444444444444,"#bd3786"],[0.5555555555555556,"#d8576b"],[0.6666666666666666,"#ed7953"],[0.7777777777777778,"#fb9f3a"],[0.8888888888888888,"#fdca26"],[1.0,"#f0f921"]],"diverging":[[0,"#8e0152"],[0.1,"#c51b7d"],[0.2,"#de77ae"],[0.3,"#f1b6da"],[0.4,"#fde0ef"],[0.5,"#f7f7f7"],[0.6,"#e6f5d0"],[0.7,"#b8e186"],[0.8,"#7fbc41"],[0.9,"#4d9221"],[1,"#276419"]]},"xaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"yaxis":{"gridcolor":"white","linecolor":"white","ticks":"","title":{"standoff":15},"zerolinecolor":"white","automargin":true,"zerolinewidth":2},"scene":{"xaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"yaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2},"zaxis":{"backgroundcolor":"#E5ECF6","gridcolor":"white","linecolor":"white","showbackground":true,"ticks":"","zerolinecolor":"white","gridwidth":2}},"shapedefaults":{"line":{"color":"#2a3f5f"}},"annotationdefaults":{"arrowcolor":"#2a3f5f","arrowhead":0,"arrowwidth":1},"geo":{"bgcolor":"white","landcolor":"#E5ECF6","subunitcolor":"white","showland":true,"showlakes":true,"lakecolor":"white"},"title":{"x":0.05},"mapbox":{"style":"light"}}},"xaxis":{"anchor":"y","domain":[0.0,1.0],"title":{},"fixedrange":true,"range":[0,100],"ticksuffix":"%","showgrid":false},"yaxis":{"anchor":"x","domain":[0.0,1.0],"title":{},"categoryorder":"array","categoryarray":["LLVM function\u003cbr \u002f\u003einstantiation\u003cbr \u002f\u003eanalysis (cargo-\u003cbr \u002f\u003ellvm-lines)","Compiler pass\u003cbr \u002f\u003eanalysis (-Ztime-\u003cbr \u002f\u003epasses)","Compiler self\u003cbr \u002f\u003eprofiler (-Zself-\u003cbr \u002f\u003eprofile)","Cargo timings (cargo\u003cbr \u002f\u003ebuild --timings)"],"tickangle":0,"fixedrange":true,"ticksuffix":""},"legend":{"title":{"text":"Severity"},"tracegroupgap":0,"orientation":"h","y":-0.05},"title":{"text":"\u003cb\u003eAre you aware of the following tools for profiling Rust compilation?\u003c\u002fb\u003e\u003cbr \u002f\u003e\u003cspan style=\"font-size: 0.8em;\"\u003e(total responses = 2469)\u003c\u002fspan\u003e"},"barmode":"relative","height":450,"hoverlabel":{"font":{"size":16,"family":"Rockwell"},"bgcolor":"white"},"meta":"matrix-chart","dragmode":"pan"}, {"modeBarButtonsToRemove": ["zoom", "pan", "lasso2d", "select", "autoScale", "toImage"], "displaylogo": false, "responsive": true} ) }; +function deepCopy(obj) { + return JSON.parse(JSON.stringify(obj)); +} + +// Angle axis ticks and make bar chart labels vertical on small displays +function relayoutCharts() { + if (window.innerWidth > 800) return; + + console.log("Relayouting charts"); + var bar_charts = document.getElementsByClassName("bar-chart"); + for (var i = 0; i < bar_charts.length; i++) { + var chart = bar_charts[i]; + + // We need to extract and copy the original layout, otherwise it would be lost + // when relayouting. + var layout = deepCopy(chart.layout); + layout.xaxis.tickangle = 90; + layout.autosize = false; + layout.width = "100%"; + Plotly.relayout(chart, layout); + Plotly.restyle(chart, {textangle: 90}); + } + var matrix_charts = document.getElementsByClassName("matrix-chart"); + for (var i = 0; i < matrix_charts.length; i++) { + var chart = matrix_charts[i]; + var layout = deepCopy(chart.layout); + layout.autosize = false; + layout.width = "100%"; + layout.legend.y = -0.3; + layout.legend.yanchor = "bottom"; + Plotly.relayout(chart, layout); + } +} + +window.addEventListener("resize", relayoutCharts); +document.addEventListener("DOMContentLoaded", relayoutCharts); diff --git a/content/rust-compiler-performance-survey-2025-results/compile-time-improvement-mechanisms.png b/content/rust-compiler-performance-survey-2025-results/compile-time-improvement-mechanisms.png new file mode 100644 index 0000000000000000000000000000000000000000..8f740b73d5f4cdf9e7015878d98dfa47e3072962 GIT binary patch literal 68411 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

8G31A8=S<$dEP3e7~u$Ptb1J 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 C7k5n_DNpj=9X6v99d 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 J%axu7{U4-i&s_ij literal 0 HcmV?d00001 diff --git a/content/rust-compiler-performance-survey-2025-results/compile-time-improvement-mechanisms.svg b/content/rust-compiler-performance-survey-2025-results/compile-time-improvement-mechanisms.svg new file mode 100644 index 000000000..ee8fac2dd --- /dev/null +++ b/content/rust-compiler-performance-survey-2025-results/compile-time-improvement-mechanisms.svg @@ -0,0 +1 @@ +21.82%13.70%8.19%35.42%16.04%9.58%41.45%53.06%45.75%39.28%26.93%12.35%11.38%14.02%10.52%5.40%12.00%12.62%7.82%14.68%12.79%14.56%14.23%11.07%10.02%3.98%44.41%37.75%52.81%36.93%39.94%36.78%37.08%31.34%28.54%36.04%53.22%62.08%36.12%19.75%38.02%33.60%15.64%31.40%45.82%6.78%2.81%11.15%10.45%8.78%15.55%48.52%0%20%40%60%80%100%Merge integrationtests into a singlebinaryShare targetdirectoryCranelift backendParallel compilerfrontendCaching compilerwrapperReduce usage ofgeneric codeDisable or reducedebuginfoReduce usage ofprocedural macrosAlternative linkerCreate opt-in CargofeaturesSplit cratesDisable defaultCargo features ofdependenciesReduce dependencycountSeverityIt helps me improve compile timesI tried it, but it didn't helpI know of it, but haven't tried itNever heard of itHave you used any of the following mechanisms to improve compilationperformance?(total responses = 2305) \ No newline at end of file diff --git a/content/rust-compiler-performance-survey-2025-results/debugger.png b/content/rust-compiler-performance-survey-2025-results/debugger.png new file mode 100644 index 0000000000000000000000000000000000000000..ef252c0d6e91acab20d7b433cd48ee1d58507ce6 GIT binary patch literal 27346 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 literal 0 HcmV?d00001 diff --git a/content/rust-compiler-performance-survey-2025-results/debugger.svg b/content/rust-compiler-performance-survey-2025-results/debugger.svg new file mode 100644 index 000000000..db72693bd --- /dev/null +++ b/content/rust-compiler-performance-survey-2025-results/debugger.svg @@ -0,0 +1 @@ +53.7%31.5%12.2%2.7%Never or very rarelySometimes (e.g. once per weekor less)Often (e.g. multiple times perday)Almost always (e.g. afteralmost every build)0%20%40%60%80%100%How often do you use a debugger to debug your Rust code?(total responses = 2320, single answer)Percent out of all responses (%) \ No newline at end of file diff --git a/content/rust-compiler-performance-survey-2025-results/index.md b/content/rust-compiler-performance-survey-2025-results/index.md new file mode 100644 index 000000000..1ac0cdea7 --- /dev/null +++ b/content/rust-compiler-performance-survey-2025-results/index.md @@ -0,0 +1,325 @@ ++++ +path = "9999/12/31/rust-compiler-performance-survey-2025-results" +title = "Rust compiler performance survey 2025 results" +authors = ["Jakub Beránek"] + +[extra] +team = "the compiler performance working group" +team_url = "https://www.rust-lang.org/governance/teams/compiler#team-wg-compiler-performance" ++++ + +Two months ago, we launched the first [Rust Compiler Performance Survey](../rust-compiler-performance-survey-2025.md), with the goal of helping us understand the biggest pain points of Rust developers related to build performance. It is clear that this topic is very important for the Rust community, as the survey received over 3 700 responses! We would like to thank everyone who participated in the survey, and especially those who described their workflows and challenges with an open answer. We plan to run this survey annually, so that we can observe long-term trends in Rust build performance and its perception. + +In this post, we'll show some interesting results and insights that we got from the survey and promote work that we have already done recently or that we plan to do to improve the build performance of Rust code. If you would like to examine the complete results of the survey, you can find them [here][report]. + +And now strap in, as there is a lot of data to explore! As this post is relatively long, here is an index of topics that it covers: + +- [Overall satisfaction](#overall-satisfaction) +- [Important workflows](#important-workflows) +- [Incremental rebuilds](#incremental-rebuilds) +- [Type checking and IDE performance](#type-checking-and-ide-performance) +- [Clean and CI builds](#clean-and-ci-builds) +- [Debug information](#debug-information) +- [Workarounds for improving build performance](#workarounds-for-improving-build-performance) +- [Understanding why builds are slow](#understanding-why-builds-are-slow) + +## Overall satisfaction + +To understand the overall sentiment, we asked our respondents to rate their satisfaction with their build performance, on a scale from 0 (worst) to 10 (best). The average rating was 6, with most people rating their experience with 7 out of 10: + + +

+
+
+ [PNG] [SVG] +
+
+ + +To help us understand the overall build experience in more detail, we also analyzed all open answers (almost six hundred of them) written by our respondents, to help us identify several recurring themes, which we will discuss in this post. + +One thing that is clear from both the satisfaction rating and the open answers is that the build experience differs wildly across users and workflows, and it is not as clear-cut as "Rust builds are slow". We actually received many positive comments about users being happy with Rust build performance, and appreciation for it being improved vastly over the past several years to the point where it stopped being a problem. + +People also liked to compare their experience with other competing technologies. For example, many people wrote that the build performance of Rust is not worse, or is even better, than what they saw with C++. On the other hand, others noted that the build performance of languages such as Go or Zig is much better than that of Rust. + +While it is great to see some developers being happy with the state we have today, it is clear that many people are not so lucky, and Rust's build performance limits their productivity. Around 45% respondents who answered that they are no longer using Rust said that at least one of the reasons why they stopped were long compile times. + +In our survey we received a lot of feedback pointing out real issues and challenges in several areas of build performance, which is what we will focus on in this post. + +## Important workflows + +The challenges that Rust developers experience with build performance are not always as simple as the compiler itself being slow. There are many diverse workflows with competing trade-offs, and optimizing build performance for them might require completely different solutions. Some approaches for improving build performance can also be quite unintuitive. For example, stabilizing certain language features could help remove the need for certain build scripts or proc macros, and thus speed up compilation across the Rust ecosystem. You can watch [this talk][performance-talk-rustweek] from RustWeek about build performance to learn more. + +It is difficult to enumerate all possible build workflows, but we at least tried to ask about workflows that we assumed are common and could limit the productivity of Rust developers the most: + + +
+
+
+ [PNG] [SVG] +
+
+ + +We can see that all the workflows that we asked about cause significant problems to at least a fraction of the respondents, but some of them more so than others. To gain more information about the specific problems that developers face, we also asked a more detailed, follow-up question: + + +
+
+
+ [PNG] [SVG] +
+
+ + +Based on the answers to these two questions, and other experiences shared in the open answers, we identifified three groups of workflows that we will discuss next: + +- Incremental rebuilds after making a small change +- Type checking using `cargo check` or with a code editor +- Clean, from-scratch builds, including CI builds + +### Incremental rebuilds + +Waiting too long for an incremental rebuild after making a small source code change was by far the most common complaint in the open answers that we received, and it was also the most common problem that respondents said they struggle with. Based on our respondents' answers, this comes down to three main bottlenecks: + +- **Changes in workspaces trigger unneccessary rebuilds.** If you modify a crate in a workspace that has several dependent crates and perform a rebuild, all those dependent crates will currently have to be recompiled. This can cause a lot of unnecessary work and dramatically increase the latency of rebuilds in large (or deep) workspaces. We have some ideas about how to improve this workflow, such as the ["Relink, don't rebuild"][project-goal-rdr] proposal, but these are currently in a very experimental stage. +- **The linking phase is too slow.** This was a very common complaint, and it is indeed a real issue, because unlike the rest of the compilation process, linking is always performed "from scratch". The Rust compiler usually delegates linking to an external/system linker, so its performance is not completely within our hands. However, we are attempting to switch to faster linkers by default. For example, the most popular target (`x86_64-unknown-linux-gnu`) has recently switched to the [LLD linker][rust-lld-blog-post], which provides significant performance wins. Long-term, it is possible that some linkers (e.g. [wild]) will allow us to perform even linking incrementally. +- **Incremental rebuild of a single crate is too slow.** The performance of this workflow depends on the cleverness of the incremental engine of the Rust compiler. While it is already very sophisticated, there are some parts of the compilation process that are not incremental yet or that are not cached in an optimal way. For example, expansion of derive proc macros is not currently cached, although work is underway to [change that][cache-proc-macros]. + +Several users have mentioned that they would like to see Rust perform hot-patching (such as the `subsecond` system used by the Dioxus UI framwork or similar approaches used e.g. by the Bevy game engine). While these hot-patching systems are very exciting and can produce truly near-instant rebuild times for specialized use-cases, it should be noted that they also come with many limitations and edge-cases, and it does not seem that a solution that would allow hot-patching to work in a robust way has been found yet. + +To gauge how long is the typical rebuild latency, we asked our respondents to pick a single Rust project that they work on and which causes them to struggle with build times the most, and tell us how longthey have to wait for it to be rebuilt after making a code change. + + +
+
+
+ [PNG] [SVG] +
+
+ + +Even though many developers do not actually experience this latency after each code change, as they consume results of type checking or inline annotations in their code editor, the fact that 55% of respondents have to wait more than ten seconds for a rebuild is far from ideal. + +If we partition these results based on answers to other questions, it is clear that the rebuild times depend a lot on the size of the project: + + +
+
+
+ [PNG] [SVG] +
+
+ + +And to a lesser factor also on the number of used dependencies: + + +
+
+
+ [PNG] [SVG] +
+
+ + +We would love to get to a point where the time needed to rebuild a Rust project is dependent primarily on the amount of performed code changes, rather than on the size of the codebase, but clearly we are not there yet. + +### Type checking and IDE performance + +Approximately 60% of respondents say that they use `cargo` terminal commands to type check, build or test their code, with `cargo check` being the most commonly used command performed after each code change: + + +
+
+
+ [PNG] [SVG] +
+
+ + +While the performance of `cargo check` does not seem to be as big of a blocker as e.g. incremental rebuilds, it also causes some pain points. One of the most common ones present in the survey responses is the fact that `cargo check` does not share the build cache with `cargo build`. This causes additional compilation to happen when you run e.g. `cargo check` several times to find all type errors, and when it succeeds, you follow up with `cargo build` to actually produce a built artifact. This workflow is an example of competing trade-offs, because sharing the build cache between these two commands by unifying them more would likely make `cargo check` itself slightly slower, which might be undesirable to some users. It is possible that we might be able to find some middle ground to improve the status quo though. You can follow updates to this work in [this issue][cargo-check-build-reuse-issue]. + +A related aspect is the latency of type checking in code editors and IDEs. Around 87% of respondents say that they use inline annotations in their editor as the primary mechanism of inspecting compiler errors, and around 30% of respondents consider waiting for these annotations to be a big blocker. In the open answers, we also received many reports of Rust Analyzer's performance and memory usage being a limiting factor. + +The maintainers of Rust Analyzer are working hard on improving its performance. Its caching system is [being improved][ra-talk-rustweek] to reduce analysis latency, the distributed builds of the editor are now [optimized with PGO][ra-pgo], which provided 15-20% performance wins, and work is underway to integrate the compiler's [new trait solver][ra-new-trait-solver] into Rust Analyzer, which could eventually also result in increased performance. + +More than 35% users said that they consider the IDE and Cargo blocking one another to be a big problem. There is an existing workaround for this, where you can configure Rust Analyzer to use a different target directory than Cargo, at the cost of increased disk space usage. We realized that this workaround has not been documented in a very visible way, so we added it to the [FAQ section][ra-cargo-blocking] of the Rust Analyzer book. + +### Clean and CI builds + +Around 20% of participants responded that clean builds are a significant blocker for them. In order to improve their performance, you can try a recently introduced experimental Cargo and compiler option called [`hint-mostly-unused`][hint-mostly-unused], which can in certain situations help improve the performance of clean builds, particularly if your dependencies contain a lot of code that might not actually be used by your crate(s). + +One area where clean builds might happen often is Continuous Integration (CI). 1495 respondents said that they use CI to build Rust code, and around 25% of them consider its performance to be a big blocker for them. However, almost 36% of respondents who consider CI build performace to be a big issue said that they do not use any caching in CI, which we found surprising. One explanation might be that the generated artifacts (the `target` directory) is too large for effective caching, and runs into usage limits of CI providers, which is something that we saw mentioned repeatedly in the open answers section. We have recently introduced an experimental Cargo and compiler option called [`-Zembed-metadata`][cargo-no-embed-metadata] that is designed to reduce the size of the `target` directory, which might help with this issue somewhat in the future. + +## Debug information + +The default Cargo `dev` profile generates full debug information (debuginfo) both for workspace crates and also all dependencies. This enables stepping through code with a debugger, but it also increases disk usage of the `target` directory, and crucially it makes compilation and linking slower. This effect can be quite large, as our benchmarks show a possible improvement of [2-30% in cycle counts][perf-debug-line-tables-only] if we reduce the debuginfo level to `line-tables-only` (which only generates enough debuginfo for backtraces to work), and the improvements are [even larger][perf-debug-false] if we disable debuginfo generation completely[^lld]. + +[^lld]: This benchmark was already performed using the fast LLD linker. If a slower linker was used, the build time wins would likely be even larger. + +However, if Rust developers debug their code after most builds, then this cost might be justified. We thus asked them how often they use a debugger to debug their Rust code: + + +
+
+
+ [PNG] [SVG] +
+
+ + +Based on these results, it seems that the respondents of our survey do not actually use a debugger all that much[^why-not-debug]. Similarly, only 6% of respondents answered that they use a profiler (which also benefits from at least basic debuginfo) often. + +[^why-not-debug]: Potentially because of the strong invariants upheld by the Rust type system, and partly also because the Rust debugging experience might not be optimal for many users, which is a feedback that we received in the [State of Rust 2024 survey][state-of-rust-2024]. + +On the other hand, when we asked people if they require debuginfo to be generated by default, the responses were much less clear-cut: + + +
+
+
+ [PNG] [SVG] +
+
+ + +This is the problem with changing defaults: it is challenging to improve the workflows of one user without regressing the workflow of another. For completeness, here are the answers to the previous question partitioned on the answer to the "How often do you use a debugger" question: + + +
+
+
+ [PNG] [SVG] +
+
+ + +It was surprising for us to see that around a quarter of respondents who (almost) never use a debugger still want to have full debuginfo generated by default. + +Of course, you can always disable debuginfo manually to improve your build performance, but not everyone knows about that option, and defaults matter a lot. The Cargo team is [considering][cargo-issue-dev-debug] ways of changing the status quo, for example by reducing the level of generated debug information in the `dev` profile, and introducing a new built-in profile designed for debugging. + +## Workarounds for improving build performance + +Build performance of Rust is affected by many different aspects, including the configuration of the build system (usually Cargo) and the Rust compiler, but also the organization of Rust crates and used source code patterns. There are thus several approaches that can be used to improve build performance by either using different configuration options or restructuring source code. We asked our respondents if they are even aware of such possibilities, whether they have tried them and how effective they were: + + +
+
+
+ [PNG] [SVG] +
+
+ + +It seems that the most popular (and effective) mechanisms for improving build performance are reducing the number of dependencies and their activated features, and splitting larger crates into smaller crates. The most common way of improving build performance without making source code changes seems to be the usage of an alternative linker. It seems that especially the `mold` and `lld` linkers are very popular: + + +
+
+ +
+ + +We have good news here! After many years, we have finally switched the most popular `x86_64-unknown-linux-gnu` Linux target to use the `lld` linker, resulting in faster link times *by default*. Over time, we will be able to evaluate how disruptive is this change to the overall Rust ecosystem, and whether we could e.g. switch to a different (even faster) linker. + +### Build performance guide + +We were surprised by the relatively large number of users who were unaware of some approaches for improving compilation times, in particular those that are very easy to try and typically do not require source code changes (such as reducing debuginfo or using a different linker or a codegen backend). Furthermore, almost 42% of respondents have not tried to use *any* mechanism for improving build performance whatsoever. While this is not totally unexpected, as some of these mechanisms require using the nightly toolchain or making non-trivial changes to source code, we think that one the reasons is also simply that Rust developers might not know about these mechanisms being available. In the open answers, several people also noted that they would appreciate if there was some sort of official guidance from the Rust Project about such mechanisms for improving compile times. + +It should be noted that the mechanisms that we asked about are in fact workarounds that present various trade-offs, and these should always be carefully considered. Several people have expressed dissatisfaction with some of these workarounds in the open answers, as they find it unacceptable to modify their code (which could sometimes result e.g. in increased maintenance costs or worse runtime performance) just to achieve reasonable compile times. Nevertheless, these workarounds can still be incredibly useful in some cases. + +The feedback that we received shows that it might be beneficial to spread awareness of these mechanisms in the Rust community more, as some of them can make a really large difference in build performance, but also to candidly explain the trade-offs that they introduce. Even though several great resources that cover this topic already exist online, we decided to create an [official guide][cargo-build-performance-guide] for optimizing build performance (currently work-in-progress), which will likely be hosted in the [Cargo book][cargo-book]. The aim of this guide is to increase the awareness of various mechanisms for improving build performance, and also provide a framework for evaluating their trade-offs. + +Our long-standing goal is to make compilation so fast that similar workarounds will not be necessary anymore for the vast majority of use-cases. However, there is no free lunch, and the combination of Rust's strong type system guarantees, its compilation model and also heavy focus on runtime performance often go against very fast (re)build performance, and might require usage of at least some workarounds. We hope that this guide will help Rust developers learn about them and evaluate them for their specific use-case. + +## Understanding why builds are slow + +When Rust developers experience slow builds, it can be challenging to identify where exactly is the compilation process spending time, and what could be the bottleneck. It seems that only very few Rust developers leverage tools for profiling their builds: + + +
+
+
+ [PNG] [SVG] +
+
+ + +This hardly comes as a surprise. There are currently not that many ways of intuitively understanding the performance characteristics of Cargo and `rustc`. Some tools offer only a limited amount of information (e.g. `cargo build --timings`), and the output of others (e.g. `-Zself-profile`) is very hard to interpret without knowledge of the compiler internals. + +To slightly improve this situation, we have recently added support for displaying [link times][cargo-linker-timings] to the `cargo build --timings` output, to provide more information about the possible bottleneck in crate compilation (note this feature has not been stabilized yet). + +Long-term, it would be great to have tooling that could help Rust developers diagnose compilation bottlenecks in their crates without them having to understand how the compiler works. For example, it could help answer questions such as "Which code had to be recompiled after a given source change" or "Which (proc) macros take the longest time to expand or produce the largest output", and ideally even offer some actionable suggestions. We plan to work on such tooling, but it will take time to manifest. + +One approach that could help Rust compiler contributors understand why are Rust (re)builds slow "in the wild" is the opt-in [compilation metrics collection initiative][project-goal-metrics-initiative]. + +## What's next + +There are more interesting things in the survey results, for example how do answers to selected questions differ based on the used operating system. You can examine the full results in the [full report PDF][report]. + +We would like to thank once more everyone who has participated in our survey. It helped us understand which workflows are the most painful for Rust developers, and especially the open answers provided several great suggestions that we tried to act upon. + +Even though the Rust compiler is getting increasingly faster every year, we understand that many Rust developers require truly significant improvements to improve their productivity, rather than "just" incremental performance wins. Our goal for the future is to finally stabilize long-standing initiatives that could improve build performance a lot, such as the [Cranelift codegen backend][project-goal-cranelift] or the [parallel compiler frontend][project-goal-parallel-frontend]. One such initiative (using a [faster linker by default][rust-lld-blog-post]) has finally landed recently, but the fact that it took many years shows how difficult it is to make such large cutting changes to the compilation process. + +There are other ambitious ideas for reducing (re)build times, such as [avoiding unnecessary workspace rebuilds][project-goal-rdr] or e.g. using some form of [incremental linking][wild], but these will require a lot of work and design discussions. + +We know that some people are wondering why it takes so much time to achieve progress in improving the build performance of Rust. The answer is relatively simple. These changes require a lot of work, domain knowledge (that takes a relatively long time to acquire) and many discussions and code reviews, and the pool of people that have time and motivation to work on them or review these changes is very limited. Current compiler maintainers and contributors (many of whom work on the compiler as volunteers, without any funding) work very hard to keep up with maintaining the compiler and keeping it working with a high-quality bar that Rust developers expect, across many targets, platforms and operating systems. Introducing large structural changes, which are likely needed to reach massive performance improvements, would require a lot of concentrated effort and funding. + +[report]: https://raw.githubusercontent.com/rust-lang/surveys/main/surveys/2025/compiler-performance-survey/report/compiler-performance-2025-report.pdf +[perf-debug-line-tables-only]: https://perf.rust-lang.org/compare.html?start=0d0f4eac8b98133e5da6d3604d86a8f3b5a67844&end=71ea9a0cacc3473c7b6852c17453259f74635c62&stat=cycles%3Au&doc=false&check=false&opt=false +[perf-debug-false]: https://perf.rust-lang.org/compare.html?start=bea625f3275e3c897dc965ed97a1d19ef7831f01&end=87c3e1ecd699573f7cb4c9074b8727956bd37a74&stat=cycles%3Au&check=false&opt=false&doc=false +[cargo-issue-dev-debug]: https://github.com/rust-lang/cargo/issues/15931 +[state-of-rust-2024]: https://blog.rust-lang.org/2025/02/13/2024-State-Of-Rust-Survey-results/#challenges +[cargo-build-performance-guide]: https://github.com/rust-lang/cargo/pull/15924 +[cargo-book]: https://doc.rust-lang.org/cargo +[cargo-linker-timings]: https://github.com/rust-lang/cargo/pull/15923 +[cargo-no-embed-metadata]: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#no-embed-metadata +[cargo-check-build-reuse-issue]: https://github.com/rust-lang/cargo/issues/3501 +[cache-proc-macros]: https://github.com/rust-lang/rust/pull/145354 +[rust-lld-blog-post]: https://blog.rust-lang.org/2025/09/01/rust-lld-on-1.90.0-stable +[project-goal-rdr]: https://rust-lang.github.io/rust-project-goals/2025h2/relink-dont-rebuild.html +[project-goal-cranelift]: https://rust-lang.github.io/rust-project-goals/2025h2/production-ready-cranelift.html +[project-goal-parallel-frontend]: https://rust-lang.github.io/rust-project-goals/2025h2/parallel-front-end.html +[project-goal-metrics-initiative]: https://rust-lang.github.io/rust-project-goals/2025h1/metrics-initiative.html +[wild]: https://github.com/davidlattimore/wild +[hint-mostly-unused]: https://blog.rust-lang.org/inside-rust/2025/07/15/call-for-testing-hint-mostly-unused +[performance-talk-rustweek]: https://www.youtube.com/watch?v=-jy4HaNEJCo +[ra-talk-rustweek]: https://www.youtube.com/watch?v=tn6qwhMNBJo +[ra-pgo]: https://github.com/rust-lang/rust-analyzer/pull/19582 +[ra-new-trait-solver]: https://github.com/rust-lang/rust-analyzer/pull/20329 +[ra-cargo-blocking]: https://rust-analyzer.github.io/book/faq.html#rust-analyzer-and-cargo-compete-over-the-build-lock + + + + + + diff --git a/content/rust-compiler-performance-survey-2025-results/limiting-workflows.png b/content/rust-compiler-performance-survey-2025-results/limiting-workflows.png new file mode 100644 index 0000000000000000000000000000000000000000..871cf61a63de081ab0946d15b775d2834a78ffed GIT binary patch literal 48144 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

RyZp5SP6~^L!^V*7akqoUu>)?)`9Sr$*<~ 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� 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 literal 0 HcmV?d00001 diff --git a/content/rust-compiler-performance-survey-2025-results/limiting-workflows.svg b/content/rust-compiler-performance-survey-2025-results/limiting-workflows.svg new file mode 100644 index 000000000..99f3205b8 --- /dev/null +++ b/content/rust-compiler-performance-survey-2025-results/limiting-workflows.svg @@ -0,0 +1 @@ +14.39%10.99%24.76%20.60%30.93%18.84%21.66%17.27%10.95%44.06%39.47%46.43%44.41%38.29%44.65%40.27%32.48%19.32%38.55%40.41%25.49%27.43%19.19%28.32%30.25%24.09%17.69%3.00%9.13%3.33%7.56%11.59%8.18%7.82%26.16%52.04%0%20%40%60%80%100%Docker buildsCI buildscargo testcargo checkClean unoptimizedbuildsClean optimizedbuildsOptimized rebuildsWorkspace rebuildsUnoptimized rebuildsSeverityBig problem for meCould be improved, but does not limit meNot an issue for me at allI don't use this workflowWhich development workflows limit your productivity?(total responses = 2490) \ No newline at end of file diff --git a/content/rust-compiler-performance-survey-2025-results/problems.png b/content/rust-compiler-performance-survey-2025-results/problems.png new file mode 100644 index 0000000000000000000000000000000000000000..22c77368f663b3d5d9fb37e84a7ae8c074d8cf8e GIT binary patch literal 51660 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 literal 0 HcmV?d00001 diff --git a/content/rust-compiler-performance-survey-2025-results/problems.svg b/content/rust-compiler-performance-survey-2025-results/problems.svg new file mode 100644 index 000000000..a70826824 --- /dev/null +++ b/content/rust-compiler-performance-survey-2025-results/problems.svg @@ -0,0 +1 @@ +45.62%18.25%28.98%35.93%23.09%22.32%23.06%39.57%38.13%43.90%37.42%42.66%39.63%27.54%14.81%43.62%27.12%26.66%34.25%38.04%49.40%0%20%40%60%80%100%cargo rebuildingeverything fromscratch and I do notunderstand whyWaiting for CIworkflows that buildRust codecargo check andcargo clippy notsharing compilationcachecargo check andcargo build notsharing compilationcacheWaiting for an IDEto show me inlineerror/warningannotationscargo and my IDEblocking each otherWaiting for arebuild after makinga small changeSeverityBig problem for meCould be improved, but does not limit meNot an issue for me at allWhich of the following problems do you most struggle with?(total responses = 2463) \ No newline at end of file diff --git a/content/rust-compiler-performance-survey-2025-results/profiling-tools.png b/content/rust-compiler-performance-survey-2025-results/profiling-tools.png new file mode 100644 index 0000000000000000000000000000000000000000..16e1b8694ff0e6bd404cef2452c319beb666b036 GIT binary patch literal 34609 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­4?s@D)Pj6ROl~Cgh^O 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 literal 0 HcmV?d00001 diff --git a/content/rust-compiler-performance-survey-2025-results/profiling-tools.svg b/content/rust-compiler-performance-survey-2025-results/profiling-tools.svg new file mode 100644 index 000000000..72469b869 --- /dev/null +++ b/content/rust-compiler-performance-survey-2025-results/profiling-tools.svg @@ -0,0 +1 @@ +6.13%5.40%6.13%18.93%29.55%25.78%23.01%34.28%64.33%68.82%70.86%46.79%0%20%40%60%80%100%LLVM functioninstantiationanalysis (cargo-llvm-lines)Compiler passanalysis (-Ztime-passes)Compiler selfprofiler (-Zself-profile)Cargo timings (cargobuild --timings)SeverityI use itI know of it, but don't use itNever heard of itAre you aware of the following tools for profiling Rust compilation?(total responses = 2469) \ No newline at end of file diff --git a/content/rust-compiler-performance-survey-2025-results/rebuild-wait-time-code-size.png b/content/rust-compiler-performance-survey-2025-results/rebuild-wait-time-code-size.png new file mode 100644 index 0000000000000000000000000000000000000000..09726d58be4b789af0249f7d9607e4edc6905dc1 GIT binary patch literal 33648 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 than 2 thousand lines2-10 thousand lines11-50 thousand lines51-100 thousand lines101-500 thousand linesMore than 500 thousand lines of code020406080100Rebuild time<1s1-5s5-10s10-30s30s-1m1-5m>5mAverage rebuild time based on project size (%)The percentages are relative to each individual group on the X axisCodebase sizePercentage (%) \ No newline at end of file diff --git a/content/rust-compiler-performance-survey-2025-results/rebuild-wait-time-dep-count.png b/content/rust-compiler-performance-survey-2025-results/rebuild-wait-time-dep-count.png new file mode 100644 index 0000000000000000000000000000000000000000..83c8439bc445fe5be7067bc062650ed07ba64e71 GIT binary patch literal 47112 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 literal 0 HcmV?d00001 diff --git a/content/rust-compiler-performance-survey-2025-results/rebuild-wait-time-dep-count.svg b/content/rust-compiler-performance-survey-2025-results/rebuild-wait-time-dep-count.svg new file mode 100644 index 000000000..3cedfae8e --- /dev/null +++ b/content/rust-compiler-performance-survey-2025-results/rebuild-wait-time-dep-count.svg @@ -0,0 +1 @@ +No dependencies1-10 dependencies11-50 dependencies51-100 dependencies101-200 dependencies201-300 dependencies301-500 dependenciesMore than 500 dependencies020406080100No dependencies1-10 dependencies11-50 dependencies51-100 dependencies101-200 dependencies201-300 dependencies301-500 dependenciesMore than 500 dependenciesNo dependencies1-10 dependencies11-50 dependencies51-100 dependencies101-200 dependencies201-300 dependencies301-500 dependenciesMore than 500 dependencies020406080100Rebuild time<1s1-5s5-10s10-30s30s-1m1-5m>5mAverage rebuild time based on project size and dependency count (%)The percentages are relative to each individual group on the X axisPercentage (%)Percentage (%)51-100 thousand lines101-500 thousand linesMore than 500 thousand lines of codeLess than 2 thousand lines2-10 thousand lines11-50 thousand lines \ No newline at end of file diff --git a/content/rust-compiler-performance-survey-2025-results/rebuild-wait-time.png b/content/rust-compiler-performance-survey-2025-results/rebuild-wait-time.png new file mode 100644 index 0000000000000000000000000000000000000000..51aa1787f0e3172f8cdd2969231d037174570df1 GIT binary patch literal 31780 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

lRc*gMc3r%Gh<#~d)0`SaPbHWuV& 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 u9P}%eshY2.5%20.2%22.6%22.5%12.1%15.7%4.5%Less than a secondBetween 1 and 5 secondsBetween 5 and 10 secondsBetween 10 and 30 secondsBetween 30 seconds and 1minuteBetween 1 and 5 minutesMore than 5 minutes0%20%40%60%80%100%How long do you need to wait for the compiler to rebuild your code aftermaking a change?(total responses = 2445, single answer)Percent out of all responses (%) \ No newline at end of file diff --git a/content/rust-compiler-performance-survey-2025-results/required-debuginfo-debugger.png b/content/rust-compiler-performance-survey-2025-results/required-debuginfo-debugger.png new file mode 100644 index 0000000000000000000000000000000000000000..431521bac92a518863e8f79145cd138e6383ad39 GIT binary patch literal 25615 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 literal 0 HcmV?d00001 diff --git a/content/rust-compiler-performance-survey-2025-results/required-debuginfo-debugger.svg b/content/rust-compiler-performance-survey-2025-results/required-debuginfo-debugger.svg new file mode 100644 index 000000000..356d75c84 --- /dev/null +++ b/content/rust-compiler-performance-survey-2025-results/required-debuginfo-debugger.svg @@ -0,0 +1 @@ +Almost alwaysOftenSometimesNever or very rarely020406080100Do you require debuginfo?YesOnly for my codeNoDebuginfo requirement based on the usage of a debugger (%)The percentages are relative to each individual group on the X axisDo you use a debugger?Percentage (%) \ No newline at end of file diff --git a/content/rust-compiler-performance-survey-2025-results/required-debuginfo.png b/content/rust-compiler-performance-survey-2025-results/required-debuginfo.png new file mode 100644 index 0000000000000000000000000000000000000000..4ca64b00f9601272171e0e7bd539dd06dbc5fae5 GIT binary patch literal 25522 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.6%32.1%35.3%No, I would prefer slightlyfaster compilation with lessdebuginfo by defaultYes, I want full debuginfo bydefaultYes, but I do not need fulldebuginfo for my dependencies,just for my code0%20%40%60%80%100%Do you require unoptimized builds to have debuginfo by default?(total responses = 2275, single answer)Percent out of all responses (%) \ No newline at end of file diff --git a/content/rust-compiler-performance-survey-2025-results/satisfaction.png b/content/rust-compiler-performance-survey-2025-results/satisfaction.png new file mode 100644 index 0000000000000000000000000000000000000000..ec321e0022600538d83dc691d7f60be82b4f5dcc GIT binary patch literal 21074 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 R^`g48=V_l)4JW_P_yaC`c834} literal 0 HcmV?d00001 diff --git a/content/rust-compiler-performance-survey-2025-results/satisfaction.svg b/content/rust-compiler-performance-survey-2025-results/satisfaction.svg new file mode 100644 index 000000000..fd00ff13c --- /dev/null +++ b/content/rust-compiler-performance-survey-2025-results/satisfaction.svg @@ -0,0 +1 @@ +1.7%0.9%3.5%6.9%7.2%10.9%21.3%27.7%14.9%3.7%1.3%0123456789100%20%40%60%80%100%Overall, how satisfied are you with Rust compilation performance?(0 = worst, 10 = best)(total responses = 2257, single answer)Percent out of all responses (%) \ No newline at end of file From 8d8a232aa85242af8371c8068fa3f27961fea0c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Tue, 9 Sep 2025 18:43:58 +0200 Subject: [PATCH 2/5] Removed mention of profilers, added a segue to debuginfo and add Cargo links --- .../index.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/content/rust-compiler-performance-survey-2025-results/index.md b/content/rust-compiler-performance-survey-2025-results/index.md index 1ac0cdea7..7599fee8b 100644 --- a/content/rust-compiler-performance-survey-2025-results/index.md +++ b/content/rust-compiler-performance-survey-2025-results/index.md @@ -158,13 +158,15 @@ A related aspect is the latency of type checking in code editors and IDEs. Aroun The maintainers of Rust Analyzer are working hard on improving its performance. Its caching system is [being improved][ra-talk-rustweek] to reduce analysis latency, the distributed builds of the editor are now [optimized with PGO][ra-pgo], which provided 15-20% performance wins, and work is underway to integrate the compiler's [new trait solver][ra-new-trait-solver] into Rust Analyzer, which could eventually also result in increased performance. -More than 35% users said that they consider the IDE and Cargo blocking one another to be a big problem. There is an existing workaround for this, where you can configure Rust Analyzer to use a different target directory than Cargo, at the cost of increased disk space usage. We realized that this workaround has not been documented in a very visible way, so we added it to the [FAQ section][ra-cargo-blocking] of the Rust Analyzer book. +More than 35% users said that they consider the IDE and Cargo [blocking one another][ra-cargo-blocking-issue] to be a big problem. There is an existing workaround for this, where you can configure Rust Analyzer to use a different target directory than Cargo, at the cost of increased disk space usage. We realized that this workaround has not been documented in a very visible way, so we added it to the [FAQ section][ra-cargo-blocking-faq] of the Rust Analyzer book. ### Clean and CI builds Around 20% of participants responded that clean builds are a significant blocker for them. In order to improve their performance, you can try a recently introduced experimental Cargo and compiler option called [`hint-mostly-unused`][hint-mostly-unused], which can in certain situations help improve the performance of clean builds, particularly if your dependencies contain a lot of code that might not actually be used by your crate(s). -One area where clean builds might happen often is Continuous Integration (CI). 1495 respondents said that they use CI to build Rust code, and around 25% of them consider its performance to be a big blocker for them. However, almost 36% of respondents who consider CI build performace to be a big issue said that they do not use any caching in CI, which we found surprising. One explanation might be that the generated artifacts (the `target` directory) is too large for effective caching, and runs into usage limits of CI providers, which is something that we saw mentioned repeatedly in the open answers section. We have recently introduced an experimental Cargo and compiler option called [`-Zembed-metadata`][cargo-no-embed-metadata] that is designed to reduce the size of the `target` directory, which might help with this issue somewhat in the future. +One area where clean builds might happen often is Continuous Integration (CI). 1495 respondents said that they use CI to build Rust code, and around 25% of them consider its performance to be a big blocker for them. However, almost 36% of respondents who consider CI build performace to be a big issue said that they do not use any caching in CI, which we found surprising. One explanation might be that the generated artifacts (the `target` directory) is too large for effective caching, and runs into usage limits of CI providers, which is something that we saw mentioned repeatedly in the open answers section. We have recently introduced an experimental Cargo and compiler option called [`-Zembed-metadata`][cargo-no-embed-metadata] that is designed to reduce the size of the `target` directories, and work is also underway to regularly [garbage collect][cargo-garbage-collect] them. This might help with the disk space usage issue somewhat in the future. + +One additional way to significantly reduce disk usage is to reduce the amount of generated debug information, which brings us to the next section. ## Debug information @@ -185,11 +187,11 @@ However, if Rust developers debug their code after most builds, then this cost m -Based on these results, it seems that the respondents of our survey do not actually use a debugger all that much[^why-not-debug]. Similarly, only 6% of respondents answered that they use a profiler (which also benefits from at least basic debuginfo) often. +Based on these results, it seems that the respondents of our survey do not actually use a debugger all that much[^why-not-debug]. [^why-not-debug]: Potentially because of the strong invariants upheld by the Rust type system, and partly also because the Rust debugging experience might not be optimal for many users, which is a feedback that we received in the [State of Rust 2024 survey][state-of-rust-2024]. -On the other hand, when we asked people if they require debuginfo to be generated by default, the responses were much less clear-cut: +However, when we asked people if they require debuginfo to be generated by default, the responses were much less clear-cut:

@@ -304,6 +306,7 @@ We know that some people are wondering why it takes so much time to achieve prog [cargo-linker-timings]: https://github.com/rust-lang/cargo/pull/15923 [cargo-no-embed-metadata]: https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#no-embed-metadata [cargo-check-build-reuse-issue]: https://github.com/rust-lang/cargo/issues/3501 +[cargo-garbage-collect]: https://github.com/rust-lang/cargo/issues/13136 [cache-proc-macros]: https://github.com/rust-lang/rust/pull/145354 [rust-lld-blog-post]: https://blog.rust-lang.org/2025/09/01/rust-lld-on-1.90.0-stable [project-goal-rdr]: https://rust-lang.github.io/rust-project-goals/2025h2/relink-dont-rebuild.html @@ -316,7 +319,8 @@ We know that some people are wondering why it takes so much time to achieve prog [ra-talk-rustweek]: https://www.youtube.com/watch?v=tn6qwhMNBJo [ra-pgo]: https://github.com/rust-lang/rust-analyzer/pull/19582 [ra-new-trait-solver]: https://github.com/rust-lang/rust-analyzer/pull/20329 -[ra-cargo-blocking]: https://rust-analyzer.github.io/book/faq.html#rust-analyzer-and-cargo-compete-over-the-build-lock +[ra-cargo-blocking-issue]: https://github.com/rust-lang/cargo/issues/4282 +[ra-cargo-blocking-faq]: https://rust-analyzer.github.io/book/faq.html#rust-analyzer-and-cargo-compete-over-the-build-lock From 1ddaa853499ebfd5d5aec751fe7761ac5513db65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Wed, 10 Sep 2025 08:59:22 +0200 Subject: [PATCH 3/5] Fix typos, change blog date and talk about the LLD switch in future tense --- .../index.md | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/content/rust-compiler-performance-survey-2025-results/index.md b/content/rust-compiler-performance-survey-2025-results/index.md index 7599fee8b..17e8ab092 100644 --- a/content/rust-compiler-performance-survey-2025-results/index.md +++ b/content/rust-compiler-performance-survey-2025-results/index.md @@ -1,5 +1,5 @@ +++ -path = "9999/12/31/rust-compiler-performance-survey-2025-results" +path = "2025/09/10/rust-compiler-performance-survey-2025-results" title = "Rust compiler performance survey 2025 results" authors = ["Jakub Beránek"] @@ -8,7 +8,7 @@ team = "the compiler performance working group" team_url = "https://www.rust-lang.org/governance/teams/compiler#team-wg-compiler-performance" +++ -Two months ago, we launched the first [Rust Compiler Performance Survey](../rust-compiler-performance-survey-2025.md), with the goal of helping us understand the biggest pain points of Rust developers related to build performance. It is clear that this topic is very important for the Rust community, as the survey received over 3 700 responses! We would like to thank everyone who participated in the survey, and especially those who described their workflows and challenges with an open answer. We plan to run this survey annually, so that we can observe long-term trends in Rust build performance and its perception. +Two months ago, we launched the first [Rust Compiler Performance Survey][rust-compiler-performance-survey], with the goal of helping us understand the biggest pain points of Rust developers related to build performance. It is clear that this topic is very important for the Rust community, as the survey received over 3 700 responses! We would like to thank everyone who participated in the survey, and especially those who described their workflows and challenges with an open answer. We plan to run this survey annually, so that we can observe long-term trends in Rust build performance and its perception. In this post, we'll show some interesting results and insights that we got from the survey and promote work that we have already done recently or that we plan to do to improve the build performance of Rust code. If you would like to examine the complete results of the survey, you can find them [here][report]. @@ -38,7 +38,7 @@ To understand the overall sentiment, we asked our respondents to rate their sati
-To help us understand the overall build experience in more detail, we also analyzed all open answers (almost six hundred of them) written by our respondents, to help us identify several recurring themes, which we will discuss in this post. +To help us understand the overall build experience in more detail, we also analyzed all open answers (over a thousand of them) written by our respondents, to help us identify several recurring themes, which we will discuss in this post. One thing that is clear from both the satisfaction rating and the open answers is that the build experience differs wildly across users and workflows, and it is not as clear-cut as "Rust builds are slow". We actually received many positive comments about users being happy with Rust build performance, and appreciation for it being improved vastly over the past several years to the point where it stopped being a problem. @@ -78,7 +78,7 @@ We can see that all the workflows that we asked about cause significant problems -Based on the answers to these two questions, and other experiences shared in the open answers, we identifified three groups of workflows that we will discuss next: +Based on the answers to these two questions and other experiences shared in the open answers, we identified three groups of workflows that we will discuss next: - Incremental rebuilds after making a small change - Type checking using `cargo check` or with a code editor @@ -88,13 +88,13 @@ Based on the answers to these two questions, and other experiences shared in the Waiting too long for an incremental rebuild after making a small source code change was by far the most common complaint in the open answers that we received, and it was also the most common problem that respondents said they struggle with. Based on our respondents' answers, this comes down to three main bottlenecks: -- **Changes in workspaces trigger unneccessary rebuilds.** If you modify a crate in a workspace that has several dependent crates and perform a rebuild, all those dependent crates will currently have to be recompiled. This can cause a lot of unnecessary work and dramatically increase the latency of rebuilds in large (or deep) workspaces. We have some ideas about how to improve this workflow, such as the ["Relink, don't rebuild"][project-goal-rdr] proposal, but these are currently in a very experimental stage. -- **The linking phase is too slow.** This was a very common complaint, and it is indeed a real issue, because unlike the rest of the compilation process, linking is always performed "from scratch". The Rust compiler usually delegates linking to an external/system linker, so its performance is not completely within our hands. However, we are attempting to switch to faster linkers by default. For example, the most popular target (`x86_64-unknown-linux-gnu`) has recently switched to the [LLD linker][rust-lld-blog-post], which provides significant performance wins. Long-term, it is possible that some linkers (e.g. [wild]) will allow us to perform even linking incrementally. +- **Changes in workspaces trigger unnecessary rebuilds.** If you modify a crate in a workspace that has several dependent crates and perform a rebuild, all those dependent crates will currently have to be recompiled. This can cause a lot of unnecessary work and dramatically increase the latency of rebuilds in large (or deep) workspaces. We have some ideas about how to improve this workflow, such as the ["Relink, don't rebuild"][project-goal-rdr] proposal, but these are currently in a very experimental stage. +- **The linking phase is too slow.** This was a very common complaint, and it is indeed a real issue, because unlike the rest of the compilation process, linking is always performed "from scratch". The Rust compiler usually delegates linking to an external/system linker, so its performance is not completely within our hands. However, we are attempting to switch to faster linkers by default. For example, the most popular target (`x86_64-unknown-linux-gnu`) will very soon switch to the [LLD linker][rust-lld-blog-post], which provides significant performance wins. Long-term, it is possible that some linkers (e.g. [wild]) will allow us to perform even linking incrementally. - **Incremental rebuild of a single crate is too slow.** The performance of this workflow depends on the cleverness of the incremental engine of the Rust compiler. While it is already very sophisticated, there are some parts of the compilation process that are not incremental yet or that are not cached in an optimal way. For example, expansion of derive proc macros is not currently cached, although work is underway to [change that][cache-proc-macros]. Several users have mentioned that they would like to see Rust perform hot-patching (such as the `subsecond` system used by the Dioxus UI framwork or similar approaches used e.g. by the Bevy game engine). While these hot-patching systems are very exciting and can produce truly near-instant rebuild times for specialized use-cases, it should be noted that they also come with many limitations and edge-cases, and it does not seem that a solution that would allow hot-patching to work in a robust way has been found yet. -To gauge how long is the typical rebuild latency, we asked our respondents to pick a single Rust project that they work on and which causes them to struggle with build times the most, and tell us how longthey have to wait for it to be rebuilt after making a code change. +To gauge how long is the typical rebuild latency, we asked our respondents to pick a single Rust project that they work on and which causes them to struggle with build times the most, and tell us how long they have to wait for it to be rebuilt after making a code change.
@@ -154,7 +154,7 @@ Approximately 60% of respondents say that they use `cargo` terminal commands to While the performance of `cargo check` does not seem to be as big of a blocker as e.g. incremental rebuilds, it also causes some pain points. One of the most common ones present in the survey responses is the fact that `cargo check` does not share the build cache with `cargo build`. This causes additional compilation to happen when you run e.g. `cargo check` several times to find all type errors, and when it succeeds, you follow up with `cargo build` to actually produce a built artifact. This workflow is an example of competing trade-offs, because sharing the build cache between these two commands by unifying them more would likely make `cargo check` itself slightly slower, which might be undesirable to some users. It is possible that we might be able to find some middle ground to improve the status quo though. You can follow updates to this work in [this issue][cargo-check-build-reuse-issue]. -A related aspect is the latency of type checking in code editors and IDEs. Around 87% of respondents say that they use inline annotations in their editor as the primary mechanism of inspecting compiler errors, and around 30% of respondents consider waiting for these annotations to be a big blocker. In the open answers, we also received many reports of Rust Analyzer's performance and memory usage being a limiting factor. +A related aspect is the latency of type checking in code editors and IDEs. Around 87% of respondents say that they use inline annotations in their editor as the primary mechanism of inspecting compiler errors, and around 33% of them consider waiting for these annotations to be a big blocker. In the open answers, we also received many reports of Rust Analyzer's performance and memory usage being a limiting factor. The maintainers of Rust Analyzer are working hard on improving its performance. Its caching system is [being improved][ra-talk-rustweek] to reduce analysis latency, the distributed builds of the editor are now [optimized with PGO][ra-pgo], which provided 15-20% performance wins, and work is underway to integrate the compiler's [new trait solver][ra-new-trait-solver] into Rust Analyzer, which could eventually also result in increased performance. @@ -236,7 +236,7 @@ Build performance of Rust is affected by many different aspects, including the c
-It seems that the most popular (and effective) mechanisms for improving build performance are reducing the number of dependencies and their activated features, and splitting larger crates into smaller crates. The most common way of improving build performance without making source code changes seems to be the usage of an alternative linker. It seems that especially the `mold` and `lld` linkers are very popular: +It seems that the most popular (and effective) mechanisms for improving build performance are reducing the number of dependencies and their activated features, and splitting larger crates into smaller crates. The most common way of improving build performance without making source code changes seems to be the usage of an alternative linker. It seems that especially the mold and LLD linkers are very popular:
@@ -249,7 +249,7 @@ It seems that the most popular (and effective) mechanisms for improving build pe
-We have good news here! After many years, we have finally switched the most popular `x86_64-unknown-linux-gnu` Linux target to use the `lld` linker, resulting in faster link times *by default*. Over time, we will be able to evaluate how disruptive is this change to the overall Rust ecosystem, and whether we could e.g. switch to a different (even faster) linker. +We have good news here! The most popular `x86_64-unknown-linux-gnu` Linux target will start using the LLD linker in the next Rust stable release, resulting in faster link times *by default*. Over time, we will be able to evaluate how disruptive is this change to the overall Rust ecosystem, and whether we could e.g. switch to a different (even faster) linker. ### Build performance guide @@ -290,12 +290,13 @@ There are more interesting things in the survey results, for example how do answ We would like to thank once more everyone who has participated in our survey. It helped us understand which workflows are the most painful for Rust developers, and especially the open answers provided several great suggestions that we tried to act upon. -Even though the Rust compiler is getting increasingly faster every year, we understand that many Rust developers require truly significant improvements to improve their productivity, rather than "just" incremental performance wins. Our goal for the future is to finally stabilize long-standing initiatives that could improve build performance a lot, such as the [Cranelift codegen backend][project-goal-cranelift] or the [parallel compiler frontend][project-goal-parallel-frontend]. One such initiative (using a [faster linker by default][rust-lld-blog-post]) has finally landed recently, but the fact that it took many years shows how difficult it is to make such large cutting changes to the compilation process. +Even though the Rust compiler is getting increasingly faster every year, we understand that many Rust developers require truly significant improvements to improve their productivity, rather than "just" incremental performance wins. Our goal for the future is to finally stabilize long-standing initiatives that could improve build performance a lot, such as the [Cranelift codegen backend][project-goal-cranelift] or the [parallel compiler frontend][project-goal-parallel-frontend]. One such initiative (using a [faster linker by default][rust-lld-blog-post]) will finally land soon, but the fact that it took many years shows how difficult it is to make such large cutting changes to the compilation process. There are other ambitious ideas for reducing (re)build times, such as [avoiding unnecessary workspace rebuilds][project-goal-rdr] or e.g. using some form of [incremental linking][wild], but these will require a lot of work and design discussions. -We know that some people are wondering why it takes so much time to achieve progress in improving the build performance of Rust. The answer is relatively simple. These changes require a lot of work, domain knowledge (that takes a relatively long time to acquire) and many discussions and code reviews, and the pool of people that have time and motivation to work on them or review these changes is very limited. Current compiler maintainers and contributors (many of whom work on the compiler as volunteers, without any funding) work very hard to keep up with maintaining the compiler and keeping it working with a high-quality bar that Rust developers expect, across many targets, platforms and operating systems. Introducing large structural changes, which are likely needed to reach massive performance improvements, would require a lot of concentrated effort and funding. +We know that some people are wondering why it takes so much time to achieve progress in improving the build performance of Rust. The answer is relatively simple. These changes require a lot of work, domain knowledge (that takes a relatively long time to acquire) and many discussions and code reviews, and the pool of people that have time and motivation to work on them or review these changes is very limited. Current compiler maintainers and contributors (many of whom work on the compiler as volunteers, without any funding) work very hard to keep up with maintaining the compiler and keeping it working with the high-quality bar that Rust developers expect, across many targets, platforms and operating systems. Introducing large structural changes, which are likely needed to reach massive performance improvements, would require a lot of concentrated effort and funding. +[rust-compiler-performance-survey]: https://blog.rust-lang.org/2025/06/16/rust-compiler-performance-survey-2025 [report]: https://raw.githubusercontent.com/rust-lang/surveys/main/surveys/2025/compiler-performance-survey/report/compiler-performance-2025-report.pdf [perf-debug-line-tables-only]: https://perf.rust-lang.org/compare.html?start=0d0f4eac8b98133e5da6d3604d86a8f3b5a67844&end=71ea9a0cacc3473c7b6852c17453259f74635c62&stat=cycles%3Au&doc=false&check=false&opt=false [perf-debug-false]: https://perf.rust-lang.org/compare.html?start=bea625f3275e3c897dc965ed97a1d19ef7831f01&end=87c3e1ecd699573f7cb4c9074b8727956bd37a74&stat=cycles%3Au&check=false&opt=false&doc=false From c955b2cf686a246eb1f664ebdd1b2de5866774ca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Wed, 10 Sep 2025 12:08:20 +0200 Subject: [PATCH 4/5] Fix typo --- content/rust-compiler-performance-survey-2025-results/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/rust-compiler-performance-survey-2025-results/index.md b/content/rust-compiler-performance-survey-2025-results/index.md index 17e8ab092..245ac2911 100644 --- a/content/rust-compiler-performance-survey-2025-results/index.md +++ b/content/rust-compiler-performance-survey-2025-results/index.md @@ -92,7 +92,7 @@ Waiting too long for an incremental rebuild after making a small source code cha - **The linking phase is too slow.** This was a very common complaint, and it is indeed a real issue, because unlike the rest of the compilation process, linking is always performed "from scratch". The Rust compiler usually delegates linking to an external/system linker, so its performance is not completely within our hands. However, we are attempting to switch to faster linkers by default. For example, the most popular target (`x86_64-unknown-linux-gnu`) will very soon switch to the [LLD linker][rust-lld-blog-post], which provides significant performance wins. Long-term, it is possible that some linkers (e.g. [wild]) will allow us to perform even linking incrementally. - **Incremental rebuild of a single crate is too slow.** The performance of this workflow depends on the cleverness of the incremental engine of the Rust compiler. While it is already very sophisticated, there are some parts of the compilation process that are not incremental yet or that are not cached in an optimal way. For example, expansion of derive proc macros is not currently cached, although work is underway to [change that][cache-proc-macros]. -Several users have mentioned that they would like to see Rust perform hot-patching (such as the `subsecond` system used by the Dioxus UI framwork or similar approaches used e.g. by the Bevy game engine). While these hot-patching systems are very exciting and can produce truly near-instant rebuild times for specialized use-cases, it should be noted that they also come with many limitations and edge-cases, and it does not seem that a solution that would allow hot-patching to work in a robust way has been found yet. +Several users have mentioned that they would like to see Rust perform hot-patching (such as the `subsecond` system used by the Dioxus UI framework or similar approaches used e.g. by the Bevy game engine). While these hot-patching systems are very exciting and can produce truly near-instant rebuild times for specialized use-cases, it should be noted that they also come with many limitations and edge-cases, and it does not seem that a solution that would allow hot-patching to work in a robust way has been found yet. To gauge how long is the typical rebuild latency, we asked our respondents to pick a single Rust project that they work on and which causes them to struggle with build times the most, and tell us how long they have to wait for it to be rebuilt after making a code change. From 23662b827371e8a0452164136a067d1b82442d1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20Ber=C3=A1nek?= Date: Wed, 10 Sep 2025 12:12:03 +0200 Subject: [PATCH 5/5] Fix typo MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Rémy Rakic --- content/rust-compiler-performance-survey-2025-results/index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/rust-compiler-performance-survey-2025-results/index.md b/content/rust-compiler-performance-survey-2025-results/index.md index 245ac2911..c2bda623f 100644 --- a/content/rust-compiler-performance-survey-2025-results/index.md +++ b/content/rust-compiler-performance-survey-2025-results/index.md @@ -164,7 +164,7 @@ More than 35% users said that they consider the IDE and Cargo [blocking one anot Around 20% of participants responded that clean builds are a significant blocker for them. In order to improve their performance, you can try a recently introduced experimental Cargo and compiler option called [`hint-mostly-unused`][hint-mostly-unused], which can in certain situations help improve the performance of clean builds, particularly if your dependencies contain a lot of code that might not actually be used by your crate(s). -One area where clean builds might happen often is Continuous Integration (CI). 1495 respondents said that they use CI to build Rust code, and around 25% of them consider its performance to be a big blocker for them. However, almost 36% of respondents who consider CI build performace to be a big issue said that they do not use any caching in CI, which we found surprising. One explanation might be that the generated artifacts (the `target` directory) is too large for effective caching, and runs into usage limits of CI providers, which is something that we saw mentioned repeatedly in the open answers section. We have recently introduced an experimental Cargo and compiler option called [`-Zembed-metadata`][cargo-no-embed-metadata] that is designed to reduce the size of the `target` directories, and work is also underway to regularly [garbage collect][cargo-garbage-collect] them. This might help with the disk space usage issue somewhat in the future. +One area where clean builds might happen often is Continuous Integration (CI). 1495 respondents said that they use CI to build Rust code, and around 25% of them consider its performance to be a big blocker for them. However, almost 36% of respondents who consider CI build performance to be a big issue said that they do not use any caching in CI, which we found surprising. One explanation might be that the generated artifacts (the `target` directory) is too large for effective caching, and runs into usage limits of CI providers, which is something that we saw mentioned repeatedly in the open answers section. We have recently introduced an experimental Cargo and compiler option called [`-Zembed-metadata`][cargo-no-embed-metadata] that is designed to reduce the size of the `target` directories, and work is also underway to regularly [garbage collect][cargo-garbage-collect] them. This might help with the disk space usage issue somewhat in the future. One additional way to significantly reduce disk usage is to reduce the amount of generated debug information, which brings us to the next section.