GithubHelp home page GithubHelp logo

evaitl / raptorq Goto Github PK

View Code? Open in Web Editor NEW

This project forked from cberner/raptorq

0.0 2.0 0.0 329 KB

Rust implementation of RaptorQ (RFC6330)

License: Apache License 2.0

Makefile 0.10% Rust 99.90%

raptorq's Introduction

raptorq

Build Status Crates Documentation dependency status

Rust implementation of RaptorQ (RFC6330)

Recovery properties: Reconstruction probability after receiving K + h packets = 1 - 1/256^(h + 1). Where K is the number of packets in the original message, and h is the number of additional packets received. See "RaptorQ Technical Overview" by Qualcomm

Examples

See the examples/ directory for usage.

Benchmarks

The following were run on an Intel Core i5-6600K @ 3.50GHz

Symbol size: 1280 bytes
symbol count = 10, encoded 127 MB in 0.494secs, throughput: 2072.7Mbit/s
symbol count = 100, encoded 127 MB in 0.554secs, throughput: 1847.4Mbit/s
symbol count = 250, encoded 127 MB in 0.859secs, throughput: 1190.9Mbit/s
symbol count = 500, encoded 127 MB in 0.841secs, throughput: 1213.4Mbit/s
symbol count = 1000, encoded 126 MB in 0.949secs, throughput: 1070.2Mbit/s
symbol count = 2000, encoded 126 MB in 1.119secs, throughput: 907.6Mbit/s
symbol count = 5000, encoded 122 MB in 1.327secs, throughput: 735.9Mbit/s
symbol count = 10000, encoded 122 MB in 1.749secs, throughput: 558.4Mbit/s
symbol count = 20000, encoded 122 MB in 2.784secs, throughput: 350.8Mbit/s
symbol count = 50000, encoded 122 MB in 4.381secs, throughput: 222.9Mbit/s

Symbol size: 1280 bytes
symbol count = 10, decoded 127 MB in 0.687secs using 0.0% overhead, throughput: 1490.4Mbit/s
symbol count = 100, decoded 127 MB in 0.705secs using 0.0% overhead, throughput: 1451.7Mbit/s
symbol count = 250, decoded 127 MB in 0.928secs using 0.0% overhead, throughput: 1102.3Mbit/s
symbol count = 500, decoded 127 MB in 0.969secs using 0.0% overhead, throughput: 1053.2Mbit/s
symbol count = 1000, decoded 126 MB in 1.108secs using 0.0% overhead, throughput: 916.6Mbit/s
symbol count = 2000, decoded 126 MB in 1.286secs using 0.0% overhead, throughput: 789.8Mbit/s
symbol count = 5000, decoded 122 MB in 1.601secs using 0.0% overhead, throughput: 610.0Mbit/s
symbol count = 10000, decoded 122 MB in 2.169secs using 0.0% overhead, throughput: 450.2Mbit/s
symbol count = 20000, decoded 122 MB in 2.945secs using 0.0% overhead, throughput: 331.6Mbit/s
symbol count = 50000, decoded 122 MB in 5.602secs using 0.0% overhead, throughput: 174.3Mbit/s

symbol count = 10, decoded 127 MB in 0.684secs using 5.0% overhead, throughput: 1497.0Mbit/s
symbol count = 100, decoded 127 MB in 0.704secs using 5.0% overhead, throughput: 1453.7Mbit/s
symbol count = 250, decoded 127 MB in 0.906secs using 5.0% overhead, throughput: 1129.1Mbit/s
symbol count = 500, decoded 127 MB in 0.920secs using 5.0% overhead, throughput: 1109.2Mbit/s
symbol count = 1000, decoded 126 MB in 1.108secs using 5.0% overhead, throughput: 916.6Mbit/s
symbol count = 2000, decoded 126 MB in 1.275secs using 5.0% overhead, throughput: 796.6Mbit/s
symbol count = 5000, decoded 122 MB in 1.508secs using 5.0% overhead, throughput: 647.6Mbit/s
symbol count = 10000, decoded 122 MB in 2.006secs using 5.0% overhead, throughput: 486.8Mbit/s
symbol count = 20000, decoded 122 MB in 2.729secs using 5.0% overhead, throughput: 357.8Mbit/s
symbol count = 50000, decoded 122 MB in 4.498secs using 5.0% overhead, throughput: 217.1Mbit/s

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.