{"id":15699933,"url":"https://github.com/volcanicarts/fastosc","last_synced_at":"2025-08-19T04:40:06.921Z","repository":{"id":247470260,"uuid":"825934221","full_name":"VolcanicArts/FastOSC","owner":"VolcanicArts","description":"Fast and memory-optimised C# OSC library for .NET8+","archived":false,"fork":false,"pushed_at":"2025-08-16T22:34:04.000Z","size":144,"stargazers_count":10,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-08-17T00:17:50.335Z","etag":null,"topics":["csharp","library","osc"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"lgpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/VolcanicArts.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-07-08T19:36:04.000Z","updated_at":"2025-08-16T22:34:07.000Z","dependencies_parsed_at":null,"dependency_job_id":"36e35550-39c9-49a2-a4f8-633bcbd3cfdc","html_url":"https://github.com/VolcanicArts/FastOSC","commit_stats":null,"previous_names":["volcanicarts/fastosc"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/VolcanicArts/FastOSC","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VolcanicArts%2FFastOSC","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VolcanicArts%2FFastOSC/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VolcanicArts%2FFastOSC/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VolcanicArts%2FFastOSC/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/VolcanicArts","download_url":"https://codeload.github.com/VolcanicArts/FastOSC/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/VolcanicArts%2FFastOSC/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":270791276,"owners_count":24645782,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-08-16T02:00:11.002Z","response_time":91,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["csharp","library","osc"],"created_at":"2024-10-03T19:42:39.978Z","updated_at":"2025-08-19T04:40:06.819Z","avatar_url":"https://github.com/VolcanicArts.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# FastOSC\n\nFastOSC is a fast and memory-optimised C# OSC (Open Sound Control) library for .NET8+.\n\n[![Nuget](https://img.shields.io/nuget/v/VolcanicArts.FastOSC)](https://www.nuget.org/packages/VolcanicArts.FastOSC/)\n\n## Features\n\n- **High Performance**: Designed for speed and low memory usage.\n- **Ease of Use**: Simple and intuitive API.\n- **Compatibility**: Supports the full [1.0 spec](https://opensoundcontrol.stanford.edu/spec-1_0.html). Extended support for UTF-8.\n\n## Usage\n\n```csharp\nvar sender = new OSCSender();\nawait sender.ConnectAsync(new IPEndPoint(IPAddress.Loopback, 9000));\n\nvar message = new OSCMessage(\"/address/test\", new OSCMidi(1, 1, 1, 1));\nsender.send(message);\n```\n\n```csharp\nvar receiver = new OSCReceiver();\nreceiver.OnPacketReceived += packet =\u003e // handle packet\nreceiver.Connect(new IPEndPoint(IPAddress.Loopback, 9001));\n```\n\nIf you don't want to use the built-in sender and receiver:\n```csharp\nvar message = new OSCMessage(\"/address/test\", new OSCMidi(1, 1, 1, 1));\nvar data = OSCEncoder.Encode(message);\n```\n\n```csharp\nvar data = // some byte data\n\nvar packet = OSCDecoder.Decode(data);\nif (packet is OSCMessage message)\n{\n    // handle message\n}\nelse if (packet is OSCBundle bundle)\n{\n    // handle bundle\n}\n```\n\n## Benchmarks\nEncode/Decode benchmarks were ran with the address set to `/avatar/parameters/VRCOSC/Media/Position` and a single float argument, as it represents a real-world use of this library.\nBenchmarks were ran on an i7-11700k, Windows 10.\n\n| Operation            | Library             | Mean (ns)  | StdDev (ns) | Ops/sec      | Allocated (B) | Gen0   | Gen1   |\n|----------------------|---------------------|------------|-------------|--------------|---------------| ------ | ------ |\n| **Message Encode**   | FastOSC             | **35.75**  | 0.375       | **~27.97 M** | **80**        | 0.0095 | -      |\n|                      | FastOSC (ArrayPool) | **24.14**  | 0.146       | **~41.43 M** | **0**         | -      | -      |\n|                      | RugOsc              | 83.11      | 2.129       | ~12.03 M     | 168           | 0.0200 | -      |\n| **Message Decode**   | FastOSC             | **39.00**  | 0.722       | **~25.64 M** | **192**       | 0.0229 | -      |\n|                      | RugOsc              | 134.77     | 1.260       | ~7.42 M      | 480           | 0.0572 | -      |\n| **Pattern Matching** | FastOSC             | 1,297.00   | 28.000      | ~0.77 M      | 3,270         | 0.3986 | 0.0019 |\n|                      | FastOSC (Caching)   | **107.54** | 0.452       | **~9.30 M**  | **32**        | 0.0038 | -      |\n|                      | RugOsc              | 3,274.29   | 86.136      | ~0.31 M      | 10,528        | 1.2550 | 0.0381 |","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvolcanicarts%2Ffastosc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvolcanicarts%2Ffastosc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvolcanicarts%2Ffastosc/lists"}