A Fast URL and URLSearchParams Polyfills for React Native.
Built in JSI and ada, a WHATWG-compliant and fast URL parser adopted in Node.js since v18.16 for the best performance.
Tested on RN 0.76, but still not support new architecture, so you need to turn off new architecture in android/gradle.properties
and ios/Podfile
(or use RCT_NEW_ARCH_ENABLED=0).
npm install react-native-fast-url
yarn add react-native-fast-url
Compared to react-native-url-polyfill.
Run on M1 Pro Mac Catalyst, React Native v0.72.7.
loop 100 | loop 1,000 | loop 10,000 | loop 100,000 | |
---|---|---|---|---|
react-native-url-polyfill | 22ms | 125ms | 1225ms | 12438ms |
react-native-fast-url | 2ms | 4ms | 35ms | 361ms |
fast-url is | 12x faster | 35x faster | 36x faster | 34x faster |
Benchmark code in example: bench.ts
This library(Ada) significantly outperforms react-native-url-polyfill
in terms of speed, fully embracing the WHATWG URL standard and Unicode Standards. However, it's essential to note that Ada's bundle size is larger compared to react-native-url-polyfill
. The binary size of the Ada C++ library is approximately 500KB, while react-native-url-polyfill
is a more compact 73.67KB. The choice between the two should be based on your specific requirements and preferences.
Import the polyfill in your entry file:
// index.js
import 'react-native-fast-url/polyfill';
Or if you want to use it only in some files:
import { URL, URLSearchParams } from 'react-native-fast-url';
See the contributing guide to learn how to contribute to the repository and the development workflow.
MIT
Made with create-react-native-library