Performance: RecursiveCharacterTextSplitter
This affects the text processing speed and memory usage during document splitting, impacting initial load and interaction responsiveness.
from langchain.text_splitter import RecursiveCharacterTextSplitter splitter = RecursiveCharacterTextSplitter(chunk_size=1000, chunk_overlap=100) chunks = splitter.split_text(large_text)
from langchain.text_splitter import CharacterTextSplitter splitter = CharacterTextSplitter(chunk_size=1000, chunk_overlap=0) chunks = splitter.split_text(large_text)
| Pattern | CPU Usage | Memory Usage | Processing Time | Verdict |
|---|---|---|---|---|
| CharacterTextSplitter (non-recursive) | High peak CPU | High peak memory | Slower for large texts | [X] Bad |
| RecursiveCharacterTextSplitter | Moderate CPU with smoother peaks | Balanced memory usage | Faster incremental processing | [OK] Good |
RecursiveCharacterTextSplitter in langchain?RecursiveCharacterTextSplitter with a chunk size of 100 and chunk overlap of 20?chunk_size and chunk_overlap to set chunk length and overlap.splitter = RecursiveCharacterTextSplitter(chunk_size=12, chunk_overlap=4)
chunks = splitter.split_text("Hello world! This is a test.")
print(len(chunks[0]))RecursiveCharacterTextSplitter? splitter = RecursiveCharacterTextSplitter(chunk_size=50, chunk_overlap=60)
chunks = splitter.split_text("Some long text here...")RecursiveCharacterTextSplitter correctly achieves this?Pass the test and this pattern moves unknown