Skip to content

Measure "all up" bundle size for @fluentui/react and @fluentui/react-components#31110

Merged
spmonahan merged 2 commits intomicrosoft:masterfrom
spmonahan:chore/fluent-react-all-up-bundle-size
Apr 18, 2024
Merged

Measure "all up" bundle size for @fluentui/react and @fluentui/react-components#31110
spmonahan merged 2 commits intomicrosoft:masterfrom
spmonahan:chore/fluent-react-all-up-bundle-size

Conversation

@spmonahan
Copy link
Contributor

@spmonahan spmonahan commented Apr 18, 2024

Previous Behavior

We measured bundle size for individual components but not for the entire library.

New Behavior

We now measure the bundle size of the entire library. This will give us better insight into how changes affect bundle size in applications as most users a likely to use many components from the library rather than a single one.

Related Issue(s)

This came out of #30689 as we want to understand the overall bundle size impact of the shadow DOM feature in Fluent v8.

This allows us to better understand the bundle size impact of
changes to folks using multiple components in the library.
@spmonahan spmonahan requested review from a team as code owners April 18, 2024 18:14
@github-actions github-actions bot added this to the April Project Cycle Q1 2024 milestone Apr 18, 2024
@spmonahan spmonahan changed the title Meaure " Meaure "all up" bundle size for @fluentui/react and @fluentui/react-components Apr 18, 2024
@codesandbox-ci
Copy link

This pull request is automatically built and testable in CodeSandbox.

To see build info of the built libraries, click here or the icon next to each commit SHA.

@fabricteam
Copy link
Collaborator

🕵 fluentuiv8 No visual regressions between this PR and main

@fabricteam
Copy link
Collaborator

📊 Bundle size report

Package & Exports Baseline (minified/GZIP) PR Change
react
Fluent UI React (entire library)
0 B
0 B
998.446 kB
277.16 kB
🆕 New entry
react-components
react-components: entire library
0 B
0 B
1.056 MB
257.506 kB
🆕 New entry
Unchanged fixtures
Package & Exports Size (minified/GZIP)
react
ActivityItem
68.833 kB
22.613 kB
react
Announced
36.473 kB
12.628 kB
react
Autofill
15.365 kB
4.743 kB
react
Breadcrumb
196.131 kB
58.76 kB
react
Button
190.127 kB
55.019 kB
react
ButtonGrid
175.918 kB
53.25 kB
react
Calendar
118.756 kB
36.101 kB
react
Callout
80.866 kB
26.564 kB
react
Check
51.062 kB
17.152 kB
react
Checkbox
57.791 kB
19.17 kB
react
ChoiceGroup
63.339 kB
20.824 kB
react
ChoiceGroupOption
56.601 kB
18.695 kB
react
Coachmark
89.704 kB
28.407 kB
react
Color
7.737 kB
3.106 kB
react
ColorPicker
130.032 kB
40.591 kB
react
ComboBox
245.355 kB
70.51 kB
react
CommandBar
197.41 kB
58.464 kB
react
ContextualMenu
150.967 kB
46.982 kB
react
DatePicker
180.318 kB
54.947 kB
react
DateTimeUtilities
5.244 kB
1.849 kB
react
DetailsList
225.911 kB
64.65 kB
react
Dialog
205.294 kB
61.428 kB
react
Divider
17.63 kB
6.234 kB
react
DocumentCard
211.08 kB
62.793 kB
react
DragDrop
8.343 kB
2.724 kB
react
DraggableZone
33.345 kB
11.166 kB
react
Dropdown
227.809 kB
66.884 kB
react
ExtendedPicker
94.987 kB
27.297 kB
react
Fabric
39.75 kB
13.688 kB
react
Facepile
206.04 kB
61.687 kB
react
FloatingPicker
236.281 kB
67.376 kB
react
FocusTrapZone
15.831 kB
5.54 kB
react
FocusZone
53.259 kB
16.869 kB
react
Grid
175.918 kB
53.25 kB
react
GroupedList
131.707 kB
39.689 kB
react
GroupedListV2
119.324 kB
36.822 kB
react
HoverCard
93.735 kB
29.778 kB
react
Icon
49.74 kB
16.603 kB
react
Icons
65.829 kB
24.212 kB
react
Image
44.79 kB
15.024 kB
react
Keytip
78.588 kB
25.825 kB
react
KeytipData
13.585 kB
4.418 kB
react
KeytipLayer
100.422 kB
31.128 kB
react
Keytips
103.175 kB
32.07 kB
react
Label
36.347 kB
12.639 kB
react
Layer
45.683 kB
15.585 kB
react
Link
37.673 kB
12.993 kB
react
List
38.136 kB
12.004 kB
react
MarqueeSelection
72.119 kB
21.676 kB
react
MessageBar
184.707 kB
55.523 kB
react
Modal
90.409 kB
29.213 kB
react
Nav
183.442 kB
55.093 kB
react
OverflowSet
31.044 kB
10.593 kB
react
Overlay
38.784 kB
13.401 kB
react
Panel
194.946 kB
58.34 kB
react
Persona
111.753 kB
35.58 kB
react
PersonaCoin
111.753 kB
35.58 kB
react
PersonaPresence
55.928 kB
18.715 kB
react
Pickers
287.867 kB
80.661 kB
react
Pivot
184.252 kB
55.823 kB
react
Popup
12.032 kB
4.114 kB
react
Positioning
21.821 kB
7.334 kB
react
PositioningContainer
70.754 kB
22.84 kB
react
ProgressIndicator
37.498 kB
12.906 kB
react
Rating
78.989 kB
25.18 kB
react
ResizeGroup
13.286 kB
4.365 kB
react
ResponsiveMode
8.078 kB
2.95 kB
react
ScrollablePane
53.538 kB
17.113 kB
react
SearchBox
182.982 kB
55.1 kB
react
SelectableOption
724 B
413 B
react
SelectedItemsList
226.707 kB
66.319 kB
react
Selection
41.202 kB
11.839 kB
react
Separator
33.397 kB
11.529 kB
react
Shimmer
47.265 kB
15.632 kB
react
ShimmeredDetailsList
236.679 kB
67.422 kB
react
Slider
55.575 kB
18.574 kB
react
SpinButton
186.661 kB
56.205 kB
react
Spinner
39.691 kB
13.815 kB
react
Stack
40.761 kB
13.931 kB
react
Sticky
32.064 kB
10.324 kB
react
Styling
44.812 kB
14.688 kB
react
SwatchColorPicker
186.166 kB
56.724 kB
react
TeachingBubble
200.004 kB
59.345 kB
react
Text
35.931 kB
12.486 kB
react
TextField
78.587 kB
24.642 kB
react
Theme
42.456 kB
13.773 kB
react
ThemeGenerator
12.34 kB
4.106 kB
react
TimePicker
235.197 kB
68.29 kB
react
Toggle
44.17 kB
15.346 kB
react
Tooltip
84.273 kB
27.284 kB
react
Utilities
71.851 kB
21.843 kB
react
Viewport
22.945 kB
7.292 kB
react
WeeklyDayPicker
98.762 kB
30.828 kB
react
WindowProvider
1.059 kB
541 B
react-components
react-components: Button, FluentProvider & webLightTheme
71.104 kB
20.52 kB
react-components
react-components: Accordion, Button, FluentProvider, Image, Menu, Popover
221.098 kB
62.406 kB
react-components
react-components: FluentProvider & webLightTheme
43.591 kB
14.356 kB
react-portal-compat
PortalCompatProvider
7.944 kB
2.588 kB
🤖 This report was generated against f7ab06d5315980bcb575cecc384aded8729137db

@fabricteam
Copy link
Collaborator

Perf Analysis (@fluentui/react-components)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
Avatar mount 656 639 5000
Button mount 313 312 5000
Field mount 1155 1181 5000
FluentProvider mount 741 749 5000
FluentProviderWithTheme mount 83 80 10
FluentProviderWithTheme virtual-rerender 33 32 10
FluentProviderWithTheme virtual-rerender-with-unmount 91 98 10
MakeStyles mount 863 883 50000
Persona mount 1792 1821 5000
SpinButton mount 1429 1412 5000
SwatchPicker mount 1569 1568 5000

@fabricteam
Copy link
Collaborator

Perf Analysis (@fluentui/react)

No significant results to display.

All results

Scenario Render type Master Ticks PR Ticks Iterations Status
BaseButton mount 624 628 5000
Breadcrumb mount 1748 1717 1000
Checkbox mount 1705 1708 5000
CheckboxBase mount 1460 1493 5000
ChoiceGroup mount 2975 2927 5000
ComboBox mount 637 646 1000
CommandBar mount 6366 6321 1000
ContextualMenu mount 14186 13694 1000
DefaultButton mount 766 796 5000
DetailsRow mount 2217 2183 5000
DetailsRowFast mount 2205 2233 5000
DetailsRowNoStyles mount 2054 2024 5000
Dialog mount 2765 2718 1000
DocumentCardTitle mount 236 232 1000
Dropdown mount 1999 2014 5000
FocusTrapZone mount 1182 1153 5000
FocusZone mount 1111 1094 5000
GroupedList mount 37469 41686 2
GroupedList virtual-rerender 17870 20232 2
GroupedList virtual-rerender-with-unmount 51129 50971 2
GroupedListV2 mount 225 229 2
GroupedListV2 virtual-rerender 217 219 2
GroupedListV2 virtual-rerender-with-unmount 214 233 2
IconButton mount 1075 1093 5000
Label mount 343 342 5000
Layer mount 2732 2744 5000
Link mount 395 387 5000
MenuButton mount 956 913 5000
MessageBar mount 21884 21919 5000
Nav mount 1952 1969 1000
OverflowSet mount 792 758 5000
Panel mount 1817 1747 1000
Persona mount 724 792 1000
Pivot mount 872 867 1000
PrimaryButton mount 863 835 5000
Rating mount 4643 4711 5000
SearchBox mount 913 948 5000
Shimmer mount 1909 1906 5000
Slider mount 1308 1356 5000
SpinButton mount 2896 2867 5000
Spinner mount 391 390 5000
SplitButton mount 1855 1869 5000
Stack mount 407 409 5000
StackWithIntrinsicChildren mount 877 855 5000
StackWithTextChildren mount 2609 2613 5000
SwatchColorPicker mount 6242 6235 5000
TagPicker mount 1455 1460 5000
Text mount 373 359 5000
TextField mount 930 945 5000
ThemeProvider mount 847 838 5000
ThemeProvider virtual-rerender 587 593 5000
ThemeProvider virtual-rerender-with-unmount 1288 1287 5000
Toggle mount 596 618 5000
buttonNative mount 184 189 5000

@spmonahan spmonahan merged commit dd20bcb into microsoft:master Apr 18, 2024
@khmakoto khmakoto changed the title Meaure "all up" bundle size for @fluentui/react and @fluentui/react-components Measure "all up" bundle size for @fluentui/react and @fluentui/react-components Apr 25, 2024
miroslavstastny pushed a commit to miroslavstastny/fluentui that referenced this pull request Jun 14, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants