GitHub - KusStar/react-native-fast-url: A Fast URL and URLSearchParams Polyfills for React Native(binding of ada). (original) (raw)
react-native-fast-url
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).
Installation
npm install react-native-fast-url yarn add react-native-fast-url
Benchmarks
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.
Usage
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';
Contributing
See the contributing guide to learn how to contribute to the repository and the development workflow.
License
MIT
Made with create-react-native-library