Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion src/bokeh/resources.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@
from __future__ import annotations

import logging # isort:skip
from bokeh.core.types import PathLike
from bokeh.settings import LogLevel, settings

log = logging.getLogger(__name__)

Expand Down Expand Up @@ -420,7 +422,12 @@ def root_url(self) -> str:
# Public methods ----------------------------------------------------------

def components_for(self, kind: Kind) -> list[Component]:
return [comp for comp in self.components if comp in self._component_defs[kind]]
# Use set intersection for faster filtering on large component lists
kind_comps = self._component_defs[kind]
if not kind_comps:
return []
kind_set = set(kind_comps)
return [comp for comp in self.components if comp in kind_set]

def _file_paths(self, kind: Kind) -> list[Path]:
minified = ".min" if self.minified else ""
Expand Down