KusStar / react-native-fast-url

A Fast URL and URLSearchParams Polyfills for React Native(binding of ada).

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

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

About

A Fast URL and URLSearchParams Polyfills for React Native(binding of ada).

License:MIT License


Languages

Language:C++ 94.3%Language:TypeScript 3.8%Language:Java 0.8%Language:Ruby 0.3%Language:JavaScript 0.3%Language:Objective-C 0.2%Language:Objective-C++ 0.1%Language:CMake 0.1%Language:C 0.1%Language:Swift 0.0%