Skip to content

Commit 72a035b

Browse files
committed
Update README.md
1 parent 4090394 commit 72a035b

1 file changed

Lines changed: 75 additions & 1 deletion

File tree

README.md

Lines changed: 75 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,75 @@
1-
# JBird
1+
# JBird
2+
3+
[![MIT License](https://img.shields.io/github/license/vsanthanam/JBird)](https://github.com/vsanthanam/JBird/blob/main/LICENSE)
4+
[![GitHub Release](https://img.shields.io/github/v/release/vsanthanam/JBird?include_prereleases)](https://github.com/vsanthanam/JBird/releases)
5+
[![Build Status](https://img.shields.io/github/check-runs/vsanthanam/JBird/main)](https://github.com/vsanthanam/JBird/actions)
6+
[![Swift Version](https://img.shields.io/badge/swift-6.1-critical)](https://swift.org)
7+
[![Documentation](https://img.shields.io/badge/Documentation-GitHub-8A2BE2)](https://usejbird.com/docs/documentation/jbird)
8+
9+
10+
A high-performance JSON parsing and manipulation library for Swift with a focus on speed, type safety, and a modern Swift API.
11+
12+
## Features
13+
14+
- ⚡️ **High Performance**: Built with a C core for optimized parsing with SIMD acceleration where available
15+
- 🛡️ **Ergonomic, Type Safe APIs**: Rich Swift API with proper type checking and error handling. Easily convert between JSON and native Swift types.
16+
- 🧪 **Well Tested**: Comprehensive test suite ensures correct adherence to the JSON RFC
17+
- 📝 **Fully Documented**: Thorough documentation with detailed API references and code samples, available on GitHub Pages.
18+
19+
## Installation
20+
21+
JBird is currently distributed exclusively through the [Swift Package Manager](https://www.swift.org/package-manager/).
22+
23+
To add JBird as a dependency to an existing Swift package, add the following line of code to the `dependencies` parameter of your `Package.swift` file:
24+
25+
Add JBird to your `Package.swift` file:
26+
27+
```swift
28+
dependencies: [
29+
.package(url: "https://github.com/vsanthanam/JBird.git", from: "1.0.0")
30+
]
31+
```
32+
33+
Then add the dependency to your target:
34+
35+
```swift
36+
.target(
37+
name: "YourTarget",
38+
dependencies: ["JBird"]
39+
)
40+
```
41+
42+
To add JBird as a dependency to an Xcode Project:
43+
44+
- Choose `File``Add Packages...`
45+
- Enter package URL `https://github.com/vsanthanam/JBird.git` and select your release and of choice.
46+
47+
Other distribution mechanisms like CocoaPods or Carthage may be added in the future.
48+
49+
## Performance
50+
51+
JBird is designed for high performance, with benchmarks showing it to be one of the fastest JSON parsers available for Swift. The core parsing engine is written in C with SIMD acceleration where available, making it significantly faster than pure Swift implementations.
52+
53+
JBird demonstrates exceptional performance compared to other popular JSON parsing libraries:
54+
55+
- **Speed**: JBird parses JSON 2-5x faster than SwiftyJSON and about 25% faster than Foundation
56+
- **Memory Efficiency**: JBird uses significantly less memory than other parsers (up to a 95% reduction)
57+
- **Resource Usage**: JBird requires dramatically fewer CPU instructions and memory allocations for equivelent payloads
58+
- **Consistent Performance**: JBird maintains its performance advantage across different JSON file sizes and formats
59+
60+
These benchmarks were run on a variety of JSON files ranging from 64KB to 5MB, in both minified and pretty-printed formats. You can explore the comparisons with common Swift JSON libraries (Foundation, SwiftyJSON, etc.) in the `/Benchmarks` directory.
61+
62+
## Usage & Documentation
63+
64+
JBird's documentation is built with [DocC](https://developer.apple.com/documentation/docc) and included in the repository as a DocC archive. The latest version is hosted on [GitHub Pages](https://pages.github.com) and is available [here](https://usejbird.com/docs/documentation/jbird).
65+
66+
Additional installation instructions are available on the [Swift Package Index](https://swiftpackageindex.com/vsanthanam/JBird)
67+
68+
[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fvsanthanam%2FJBird%2Fbadge%3Ftype%3Dswift-versions)](https://swiftpackageindex.com/vsanthanam/JBird)
69+
[![](https://img.shields.io/endpoint?url=https%3A%2F%2Fswiftpackageindex.com%2Fapi%2Fpackages%2Fvsanthanam%2FJBird%2Fbadge%3Ftype%3Dplatforms)](https://swiftpackageindex.com/vsanthanam/JBird)
70+
71+
Explore [the documentation](https://usejbird.com/docs/documentation/jbird) for more details.
72+
73+
## License
74+
75+
**JBird** is available under the [MIT license](https://en.wikipedia.org/wiki/MIT_License). See the [LICENSE](https://github.com/vsanthanam/JBird/blob/main/LICENSE) file for more information.

0 commit comments

Comments
 (0)