Bundle Size ​
Because es-toolkit/fp uses a modern implementation, it has a very small bundle size compared with other libraries. Compared with remeda, its bundle size is 1.5x to more than 10x smaller.
In this respect, es-toolkit/fp is the most efficient choice for reducing bundle size. Some utility functions are smaller than 100 bytes. Tree shaking is supported as well.
Bundle Size Comparison ​
| es-toolkit/fp | remeda | |
|---|---|---|
| add | 72 bytes | 301 bytes |
| chunk | 286 bytes | 607 bytes |
| filter | 320 bytes | 391 bytes |
| flatMap | 556 bytes | 434 bytes |
| map | 314 bytes | 359 bytes |
| multiply | 72 bytes | 301 bytes |
| omit | 164 bytes | 471 bytes |
| pick | 180 bytes | 353 bytes |
| pipe | 759 bytes | 908 bytes |
| sortBy | 497 bytes | 612 bytes |
| take | 413 bytes | 443 bytes |
| uniq | 108 bytes | 1,233 bytes |
Measurement Method ​
The numbers are measured with esbuild 0.28.0 by bundling concrete JavaScript imports like these:
typescript
import { filter } from 'es-toolkit/fp';
console.log(filter);typescript
import { filter } from 'remeda';
console.log(filter);See the benchmark files in benchmarks/bundle-size/fp/ for the exact scripts.

