Coder Social home page Coder Social logo

naumi's Introduction

Naumi

Lightweight and fast data transfer protocol. Fast de/serialization and tiny size!

๐Ÿ“Œ Why?

Naumi is an innovative data format designed to be a complete alternative to JSON and ProtoBuf, while providing greater efficiency and flexibility. It is designed to meet modern data processing requirements, offering compact serialization, improved read and write speeds, and support for complex data structures and types, making it an ideal choice for a wide range of applications, from webAPIs to real-time messaging and configuration files.

๐Ÿš€ Benchmarks

Benchmark sources: Benchmarks

Encode Decode Size
Naumi 6,4 ms 6,8 ms 15002002
Alkahest 24,3 ms 22,7 ms 15008008
Pot 72,64 ms 187,9 ms 23994125
Cbor 40,8 ms 115,2 ms 31904769
SimdJson 107,6 ms 466,3 ms 62543210

๐Ÿ“ To Do (before the 1.0.0 release)

  • Describe the functions with examples.
  • Data compression using zstd.
  • More benchmarks.
  • More examples.
  • More speed and optimization!
    • Huge speedup of iterators and custom types.
    • Huge speedup of numbers decode.
    • Let me know on the issues page.
  • More supported data types:

๐Ÿ“ฆ Currently supported types

Numbers: u8, u16, u32, u64, usize, u128, f32, f64, VarInt // and signed

Strings: String(VarInt), TinyString(u8), ShortString(u16), MediumString(u32), LongString(u64)

Iters: Vec(VarInt), TinyVec(u8), ShortVec(u16), MediumVec(u32), LongVec(u64), HashSet(VarInt), HashMap(VarInt)

Custom: Structs(Named/Unnamed), Enums, Option, Tuple

๐Ÿ”ง Install

  • Standart
naumi = "0.3"
  • All
naumi = { version = "0.3", features = ["net", "net_async", "default_", "clone", "debug", "partial_eq"] }

โœŠ Examples

Check it out on GitHub - Examples

๐Ÿ“‹ Update log

  • 0.3.5 - Correction in net_async
  • 0.3.4 - Correction in HashMap
  • 0.3.3 - New type and bug fixes
  • 0.3.2 - usize and isize are now always 64 bits.
  • 0.3.1 - Moving the examples from the Readme.
  • 0.3.0 - Ease of use and some bug fixes. Removed Coder.
  • 0.2.5 - 0.2.7 - Bug fixes and some changes.
  • 0.2.4 - Added benchmarks.
  • 0.2.3 - Accelerating the decode of numbers.
  • 0.2.2 - Bug fixes
  • 0.2.1 - Describe the functions with examples.
  • 0.2.0 - Hugely accelerated iterators and custom structures, bug fixes.
  • 0.1.0 - 0.1.5 - Bug fixes

๐Ÿค Contributing

Contributions, issues and feature requests are welcome! Feel free to check issues page.

โค๏ธ Show your support

Give a โญ๏ธ if this project helped you!

๐Ÿ“ License

Copyright ยฉ 2024 Paradist. This project is MIT licensed.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.