fastserial 0.1.1

Ultra-fast, zero-copy serialization/deserialization library for Rust with SIMD acceleration
Documentation
use fastserial::{Decode, Encode, json};

#[derive(Encode, Decode, Debug)]
struct User<'de> {
    id: u64,
    name: &'de str,
    email: &'de str,
    active: bool,
}

#[derive(Encode, Decode, Debug)]
struct Post<'de> {
    id: u64,
    title: &'de str,
    content: &'de str,
    author_id: u64,
    tags: Vec<&'de str>,
}

fn main() {
    let user = User {
        id: 1,
        name: "Alice",
        email: "alice@example.com",
        active: true,
    };

    let json_bytes = json::encode(&user).expect("Failed to encode");
    println!("Encoded user: {}", String::from_utf8_lossy(&json_bytes));

    let decoded: User = json::decode(&json_bytes).expect("Failed to decode");
    println!("Decoded user: {:?}", decoded);

    let post = Post {
        id: 42,
        title: "Hello World",
        content: "This is my first post!",
        author_id: 1,
        tags: vec!["rust", "serialization", "fast"],
    };

    let json_bytes = json::encode(&post).expect("Failed to encode post");
    println!("\nEncoded post: {}", String::from_utf8_lossy(&json_bytes));

    let decoded: Post = json::decode(&json_bytes).expect("Failed to decode post");
    println!("Decoded post: {:?}", decoded);

    println!("\nSchema hash for User: {:#x}", User::SCHEMA_HASH);
    println!("Schema hash for Post: {:#x}", Post::SCHEMA_HASH);
}