Performance: Loading web pages with WebBaseLoader
MEDIUM IMPACT
This affects the initial data loading speed and memory usage when fetching web pages for processing.
from langchain.document_loaders import WebBaseLoader import asyncio async def load_page(url): loader = WebBaseLoader(url) return await loader.aload() urls = ["https://example.com/page1", "https://example.com/page2"] results = asyncio.run(asyncio.gather(*(load_page(url) for url in urls))) docs = [doc for batch in results for doc in batch]
from langchain.document_loaders import WebBaseLoader urls = ["https://example.com/page1", "https://example.com/page2"] docs = [] for url in urls: loader = WebBaseLoader(url) docs.extend(loader.load())
| Pattern | DOM Operations | Reflows | Paint Cost | Verdict |
|---|---|---|---|---|
| Sequential WebBaseLoader calls | N/A (no DOM in backend) | N/A | N/A | [X] Bad |
| Concurrent WebBaseLoader calls with async | N/A | N/A | N/A | [OK] Good |