Latest commit

History

3,812 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CICodecovExamplesFAQGitterRoadmap

iceoryx2 - Zero-Copy Lock-Free IPC with a Rust Core

Introduction

Welcome to iceoryx2, the efficient, and ultra-low latency inter-process communication middleware. This library is designed to provide you with fast and reliable zero-copy and lock-free inter-process communication mechanisms.

So if you want to communicate efficiently between multiple processes or applications iceoryx2 is for you. With iceoryx2, you can:

  • Send huge amounts of data using a publish/subscribe, request/response, pipeline (planned) or blackboard pattern (planned), making it ideal for scenarios where large datasets need to be shared.
  • Exchange signals through events, enabling quick and reliable signaling between processes.

iceoryx2 is based on a service-oriented architecture (SOA) and facilitates seamless inter-process communication (IPC).

It is all about providing a seamless experience for inter-process communication, featuring versatile messaging patterns. Whether you're diving into publish-subscribe, events, request-response, or the promise of upcoming features like pipelines, and blackboard, iceoryx2 has you covered.

One of the features of iceoryx2 is its consistently low transmission latency regardless of payload size, ensuring a predictable and reliable communication experience.

iceoryx2's origins can be traced back to iceoryx. By overcoming past technical debts and refining the architecture, iceoryx2 enables the modularity we've always desired.

In the near future, iceoryx2 is poised to support at least the same feature set and platforms as iceoryx, ensuring a seamless transition and offering enhanced capabilities for your inter-process communication needs. So, if you're looking for lightning-fast, cross-platform communication that doesn't compromise on performance or modularity, iceoryx2 is your answer.

Performance

Comparision Of Mechanisms

benchmark of different mechanism

Benchmark-System

  • CPU: Intel i7 13700h
  • OS: Linux 6.10.10-arch1-1 #1 SMP PREEMPT_DYNAMIC
  • Compiler:
    • rustc 1.81.0
    • gcc 14.2.1 20240910

Comparision Of Architectures

benchmark on different systems

Documentation

User Documentation

Contributor Documentation

API References

Supported Platforms

The support levels can be adjusted when required.

Operating SystemStateCurrent Support LevelTarget Support Level
Androidplanned-tier 1
FreeBSDdonetier 2tier 1
FreeRTOSplanned-tier 2
ThreadXplanned-tier 2
iOSplanned-tier 2
Linux (x86_64)donetier 2tier 1
Linux (aarch64)donetier 2tier 1
Linux (32-bit)donetier 2tier 1
Mac OSdonetier 2tier 2
QNX 7.1donetier 3tier 1
QNX 8.0in-progress-tier 1
VxWorksproof-of-concept1-tier 1
WatchOSplanned-tier 2
Windowsdonetier 2tier 2
  • tier 1 - All safety and security features are working.
  • tier 2 - Works with a restricted security and safety feature set.
  • tier 3 - Not tested in our CI, so might compile and run or not.

Note

Some commercial OS require expensive licenses and the support for these platforms rely on funding of the license costs.

Note

Yocto recipes are available at meta-iceoryx2

Language Bindings

LanguageState
C / C++done
Pythondone
Goplanned
C#planned
Javaplanned
Kotlinplanned
Luaplanned
Swiftplanned
Zigplanned

Commercial Support

ekxide IO GmbH
info@ekxide.io
  • commercial extensions and tooling
  • custom feature development
  • training and consulting
  • integration support
  • engineering services around the iceoryx ecosystem

Thanks To All Contributors

Thanks to everyone who has contributed to iceoryx2. Without their passion and dedication, the project wouldn't thrive. A list of people who have committed code can be found on github. However, contributions are not limited to code - testing the software, reporting bugs, and spreading the word about iceoryx2 are all equally valuable. A big thank you as well to those 'invisible' contributors who play a crucial role behind the scenes.

Footnotes

  1. A proof-of-concept for VxWorks platform support is available on this branch on the ekxide fork

About

Eclipse iceoryx2™ - true zero-copy inter-process-communication in pure Rust

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

3,812 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CICodecovExamplesFAQGitterRoadmap

iceoryx2 - Zero-Copy Lock-Free IPC with a Rust Core

Introduction

Welcome to iceoryx2, the efficient, and ultra-low latency inter-process communication middleware. This library is designed to provide you with fast and reliable zero-copy and lock-free inter-process communication mechanisms.

So if you want to communicate efficiently between multiple processes or applications iceoryx2 is for you. With iceoryx2, you can:

  • Send huge amounts of data using a publish/subscribe, request/response, pipeline (planned) or blackboard pattern (planned), making it ideal for scenarios where large datasets need to be shared.
  • Exchange signals through events, enabling quick and reliable signaling between processes.

iceoryx2 is based on a service-oriented architecture (SOA) and facilitates seamless inter-process communication (IPC).

It is all about providing a seamless experience for inter-process communication, featuring versatile messaging patterns. Whether you're diving into publish-subscribe, events, request-response, or the promise of upcoming features like pipelines, and blackboard, iceoryx2 has you covered.

One of the features of iceoryx2 is its consistently low transmission latency regardless of payload size, ensuring a predictable and reliable communication experience.

iceoryx2's origins can be traced back to iceoryx. By overcoming past technical debts and refining the architecture, iceoryx2 enables the modularity we've always desired.

In the near future, iceoryx2 is poised to support at least the same feature set and platforms as iceoryx, ensuring a seamless transition and offering enhanced capabilities for your inter-process communication needs. So, if you're looking for lightning-fast, cross-platform communication that doesn't compromise on performance or modularity, iceoryx2 is your answer.

Performance

Comparision Of Mechanisms

benchmark of different mechanism

Benchmark-System

  • CPU: Intel i7 13700h
  • OS: Linux 6.10.10-arch1-1 #1 SMP PREEMPT_DYNAMIC
  • Compiler:
    • rustc 1.81.0
    • gcc 14.2.1 20240910

Comparision Of Architectures

benchmark on different systems

Documentation

User Documentation

Contributor Documentation

API References

Supported Platforms

The support levels can be adjusted when required.

Operating SystemStateCurrent Support LevelTarget Support Level
Androidplanned-tier 1
FreeBSDdonetier 2tier 1
FreeRTOSplanned-tier 2
ThreadXplanned-tier 2
iOSplanned-tier 2
Linux (x86_64)donetier 2tier 1
Linux (aarch64)donetier 2tier 1
Linux (32-bit)donetier 2tier 1
Mac OSdonetier 2tier 2
QNX 7.1donetier 3tier 1
QNX 8.0in-progress-tier 1
VxWorksproof-of-concept1-tier 1
WatchOSplanned-tier 2
Windowsdonetier 2tier 2
  • tier 1 - All safety and security features are working.
  • tier 2 - Works with a restricted security and safety feature set.
  • tier 3 - Not tested in our CI, so might compile and run or not.

Note

Some commercial OS require expensive licenses and the support for these platforms rely on funding of the license costs.

Note

Yocto recipes are available at meta-iceoryx2

Language Bindings

LanguageState
C / C++done
Pythondone
Goplanned
C#planned
Javaplanned
Kotlinplanned
Luaplanned
Swiftplanned
Zigplanned

Commercial Support

ekxide IO GmbH
info@ekxide.io
  • commercial extensions and tooling
  • custom feature development
  • training and consulting
  • integration support
  • engineering services around the iceoryx ecosystem

Thanks To All Contributors

Thanks to everyone who has contributed to iceoryx2. Without their passion and dedication, the project wouldn't thrive. A list of people who have committed code can be found on github. However, contributions are not limited to code - testing the software, reporting bugs, and spreading the word about iceoryx2 are all equally valuable. A big thank you as well to those 'invisible' contributors who play a crucial role behind the scenes.

Footnotes

  1. A proof-of-concept for VxWorks platform support is available on this branch on the ekxide fork

About

Eclipse iceoryx2™ - true zero-copy inter-process-communication in pure Rust

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3,812 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CICodecovExamplesFAQGitterRoadmap

iceoryx2 - Zero-Copy Lock-Free IPC with a Rust Core

Introduction

Welcome to iceoryx2, the efficient, and ultra-low latency inter-process communication middleware. This library is designed to provide you with fast and reliable zero-copy and lock-free inter-process communication mechanisms.

So if you want to communicate efficiently between multiple processes or applications iceoryx2 is for you. With iceoryx2, you can:

  • Send huge amounts of data using a publish/subscribe, request/response, pipeline (planned) or blackboard pattern (planned), making it ideal for scenarios where large datasets need to be shared.
  • Exchange signals through events, enabling quick and reliable signaling between processes.

iceoryx2 is based on a service-oriented architecture (SOA) and facilitates seamless inter-process communication (IPC).

It is all about providing a seamless experience for inter-process communication, featuring versatile messaging patterns. Whether you're diving into publish-subscribe, events, request-response, or the promise of upcoming features like pipelines, and blackboard, iceoryx2 has you covered.

One of the features of iceoryx2 is its consistently low transmission latency regardless of payload size, ensuring a predictable and reliable communication experience.

iceoryx2's origins can be traced back to iceoryx. By overcoming past technical debts and refining the architecture, iceoryx2 enables the modularity we've always desired.

In the near future, iceoryx2 is poised to support at least the same feature set and platforms as iceoryx, ensuring a seamless transition and offering enhanced capabilities for your inter-process communication needs. So, if you're looking for lightning-fast, cross-platform communication that doesn't compromise on performance or modularity, iceoryx2 is your answer.

Performance

Comparision Of Mechanisms

benchmark of different mechanism

Benchmark-System

  • CPU: Intel i7 13700h
  • OS: Linux 6.10.10-arch1-1 #1 SMP PREEMPT_DYNAMIC
  • Compiler:
    • rustc 1.81.0
    • gcc 14.2.1 20240910

Comparision Of Architectures

benchmark on different systems

Documentation

User Documentation

Contributor Documentation

API References

Supported Platforms

The support levels can be adjusted when required.

Operating SystemStateCurrent Support LevelTarget Support Level
Androidplanned-tier 1
FreeBSDdonetier 2tier 1
FreeRTOSplanned-tier 2
ThreadXplanned-tier 2
iOSplanned-tier 2
Linux (x86_64)donetier 2tier 1
Linux (aarch64)donetier 2tier 1
Linux (32-bit)donetier 2tier 1
Mac OSdonetier 2tier 2
QNX 7.1donetier 3tier 1
QNX 8.0in-progress-tier 1
VxWorksproof-of-concept1-tier 1
WatchOSplanned-tier 2
Windowsdonetier 2tier 2
  • tier 1 - All safety and security features are working.
  • tier 2 - Works with a restricted security and safety feature set.
  • tier 3 - Not tested in our CI, so might compile and run or not.

Note

Some commercial OS require expensive licenses and the support for these platforms rely on funding of the license costs.

Note

Yocto recipes are available at meta-iceoryx2

Language Bindings

LanguageState
C / C++done
Pythondone
Goplanned
C#planned
Javaplanned
Kotlinplanned
Luaplanned
Swiftplanned
Zigplanned

Commercial Support

ekxide IO GmbH
info@ekxide.io
  • commercial extensions and tooling
  • custom feature development
  • training and consulting
  • integration support
  • engineering services around the iceoryx ecosystem

Thanks To All Contributors

Thanks to everyone who has contributed to iceoryx2. Without their passion and dedication, the project wouldn't thrive. A list of people who have committed code can be found on github. However, contributions are not limited to code - testing the software, reporting bugs, and spreading the word about iceoryx2 are all equally valuable. A big thank you as well to those 'invisible' contributors who play a crucial role behind the scenes.

Footnotes

  1. A proof-of-concept for VxWorks platform support is available on this branch on the ekxide fork

About

Eclipse iceoryx2™ - true zero-copy inter-process-communication in pure Rust

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3,812 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CICodecovExamplesFAQGitterRoadmap

iceoryx2 - Zero-Copy Lock-Free IPC with a Rust Core

Introduction

Welcome to iceoryx2, the efficient, and ultra-low latency inter-process communication middleware. This library is designed to provide you with fast and reliable zero-copy and lock-free inter-process communication mechanisms.

So if you want to communicate efficiently between multiple processes or applications iceoryx2 is for you. With iceoryx2, you can:

  • Send huge amounts of data using a publish/subscribe, request/response, pipeline (planned) or blackboard pattern (planned), making it ideal for scenarios where large datasets need to be shared.
  • Exchange signals through events, enabling quick and reliable signaling between processes.

iceoryx2 is based on a service-oriented architecture (SOA) and facilitates seamless inter-process communication (IPC).

It is all about providing a seamless experience for inter-process communication, featuring versatile messaging patterns. Whether you're diving into publish-subscribe, events, request-response, or the promise of upcoming features like pipelines, and blackboard, iceoryx2 has you covered.

One of the features of iceoryx2 is its consistently low transmission latency regardless of payload size, ensuring a predictable and reliable communication experience.

iceoryx2's origins can be traced back to iceoryx. By overcoming past technical debts and refining the architecture, iceoryx2 enables the modularity we've always desired.

In the near future, iceoryx2 is poised to support at least the same feature set and platforms as iceoryx, ensuring a seamless transition and offering enhanced capabilities for your inter-process communication needs. So, if you're looking for lightning-fast, cross-platform communication that doesn't compromise on performance or modularity, iceoryx2 is your answer.

Performance

Comparision Of Mechanisms

benchmark of different mechanism

Benchmark-System

  • CPU: Intel i7 13700h
  • OS: Linux 6.10.10-arch1-1 #1 SMP PREEMPT_DYNAMIC
  • Compiler:
    • rustc 1.81.0
    • gcc 14.2.1 20240910

Comparision Of Architectures

benchmark on different systems

Documentation

User Documentation

Contributor Documentation

API References

Supported Platforms

The support levels can be adjusted when required.

Operating SystemStateCurrent Support LevelTarget Support Level
Androidplanned-tier 1
FreeBSDdonetier 2tier 1
FreeRTOSplanned-tier 2
ThreadXplanned-tier 2
iOSplanned-tier 2
Linux (x86_64)donetier 2tier 1
Linux (aarch64)donetier 2tier 1
Linux (32-bit)donetier 2tier 1
Mac OSdonetier 2tier 2
QNX 7.1donetier 3tier 1
QNX 8.0in-progress-tier 1
VxWorksproof-of-concept1-tier 1
WatchOSplanned-tier 2
Windowsdonetier 2tier 2
  • tier 1 - All safety and security features are working.
  • tier 2 - Works with a restricted security and safety feature set.
  • tier 3 - Not tested in our CI, so might compile and run or not.

Note

Some commercial OS require expensive licenses and the support for these platforms rely on funding of the license costs.

Note

Yocto recipes are available at meta-iceoryx2

Language Bindings

LanguageState
C / C++done
Pythondone
Goplanned
C#planned
Javaplanned
Kotlinplanned
Luaplanned
Swiftplanned
Zigplanned

Commercial Support

ekxide IO GmbH
info@ekxide.io
  • commercial extensions and tooling
  • custom feature development
  • training and consulting
  • integration support
  • engineering services around the iceoryx ecosystem

Thanks To All Contributors

Thanks to everyone who has contributed to iceoryx2. Without their passion and dedication, the project wouldn't thrive. A list of people who have committed code can be found on github. However, contributions are not limited to code - testing the software, reporting bugs, and spreading the word about iceoryx2 are all equally valuable. A big thank you as well to those 'invisible' contributors who play a crucial role behind the scenes.

Footnotes

  1. A proof-of-concept for VxWorks platform support is available on this branch on the ekxide fork

About

Eclipse iceoryx2™ - true zero-copy inter-process-communication in pure Rust

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

3,812 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CICodecovExamplesFAQGitterRoadmap

iceoryx2 - Zero-Copy Lock-Free IPC with a Rust Core

Introduction

Welcome to iceoryx2, the efficient, and ultra-low latency inter-process communication middleware. This library is designed to provide you with fast and reliable zero-copy and lock-free inter-process communication mechanisms.

So if you want to communicate efficiently between multiple processes or applications iceoryx2 is for you. With iceoryx2, you can:

  • Send huge amounts of data using a publish/subscribe, request/response, pipeline (planned) or blackboard pattern (planned), making it ideal for scenarios where large datasets need to be shared.
  • Exchange signals through events, enabling quick and reliable signaling between processes.

iceoryx2 is based on a service-oriented architecture (SOA) and facilitates seamless inter-process communication (IPC).

It is all about providing a seamless experience for inter-process communication, featuring versatile messaging patterns. Whether you're diving into publish-subscribe, events, request-response, or the promise of upcoming features like pipelines, and blackboard, iceoryx2 has you covered.

One of the features of iceoryx2 is its consistently low transmission latency regardless of payload size, ensuring a predictable and reliable communication experience.

iceoryx2's origins can be traced back to iceoryx. By overcoming past technical debts and refining the architecture, iceoryx2 enables the modularity we've always desired.

In the near future, iceoryx2 is poised to support at least the same feature set and platforms as iceoryx, ensuring a seamless transition and offering enhanced capabilities for your inter-process communication needs. So, if you're looking for lightning-fast, cross-platform communication that doesn't compromise on performance or modularity, iceoryx2 is your answer.

Performance

Comparision Of Mechanisms

benchmark of different mechanism

Benchmark-System

  • CPU: Intel i7 13700h
  • OS: Linux 6.10.10-arch1-1 #1 SMP PREEMPT_DYNAMIC
  • Compiler:
    • rustc 1.81.0
    • gcc 14.2.1 20240910

Comparision Of Architectures

benchmark on different systems

Documentation

User Documentation

Contributor Documentation

API References

Supported Platforms

The support levels can be adjusted when required.

Operating SystemStateCurrent Support LevelTarget Support Level
Androidplanned-tier 1
FreeBSDdonetier 2tier 1
FreeRTOSplanned-tier 2
ThreadXplanned-tier 2
iOSplanned-tier 2
Linux (x86_64)donetier 2tier 1
Linux (aarch64)donetier 2tier 1
Linux (32-bit)donetier 2tier 1
Mac OSdonetier 2tier 2
QNX 7.1donetier 3tier 1
QNX 8.0in-progress-tier 1
VxWorksproof-of-concept1-tier 1
WatchOSplanned-tier 2
Windowsdonetier 2tier 2
  • tier 1 - All safety and security features are working.
  • tier 2 - Works with a restricted security and safety feature set.
  • tier 3 - Not tested in our CI, so might compile and run or not.

Note

Some commercial OS require expensive licenses and the support for these platforms rely on funding of the license costs.

Note

Yocto recipes are available at meta-iceoryx2

Language Bindings

LanguageState
C / C++done
Pythondone
Goplanned
C#planned
Javaplanned
Kotlinplanned
Luaplanned
Swiftplanned
Zigplanned

Commercial Support

ekxide IO GmbH
info@ekxide.io
  • commercial extensions and tooling
  • custom feature development
  • training and consulting
  • integration support
  • engineering services around the iceoryx ecosystem

Thanks To All Contributors

Thanks to everyone who has contributed to iceoryx2. Without their passion and dedication, the project wouldn't thrive. A list of people who have committed code can be found on github. However, contributions are not limited to code - testing the software, reporting bugs, and spreading the word about iceoryx2 are all equally valuable. A big thank you as well to those 'invisible' contributors who play a crucial role behind the scenes.

Footnotes

  1. A proof-of-concept for VxWorks platform support is available on this branch on the ekxide fork

About

Eclipse iceoryx2™ - true zero-copy inter-process-communication in pure Rust

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3,812 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CICodecovExamplesFAQGitterRoadmap

iceoryx2 - Zero-Copy Lock-Free IPC with a Rust Core

Introduction

Welcome to iceoryx2, the efficient, and ultra-low latency inter-process communication middleware. This library is designed to provide you with fast and reliable zero-copy and lock-free inter-process communication mechanisms.

So if you want to communicate efficiently between multiple processes or applications iceoryx2 is for you. With iceoryx2, you can:

  • Send huge amounts of data using a publish/subscribe, request/response, pipeline (planned) or blackboard pattern (planned), making it ideal for scenarios where large datasets need to be shared.
  • Exchange signals through events, enabling quick and reliable signaling between processes.

iceoryx2 is based on a service-oriented architecture (SOA) and facilitates seamless inter-process communication (IPC).

It is all about providing a seamless experience for inter-process communication, featuring versatile messaging patterns. Whether you're diving into publish-subscribe, events, request-response, or the promise of upcoming features like pipelines, and blackboard, iceoryx2 has you covered.

One of the features of iceoryx2 is its consistently low transmission latency regardless of payload size, ensuring a predictable and reliable communication experience.

iceoryx2's origins can be traced back to iceoryx. By overcoming past technical debts and refining the architecture, iceoryx2 enables the modularity we've always desired.

In the near future, iceoryx2 is poised to support at least the same feature set and platforms as iceoryx, ensuring a seamless transition and offering enhanced capabilities for your inter-process communication needs. So, if you're looking for lightning-fast, cross-platform communication that doesn't compromise on performance or modularity, iceoryx2 is your answer.

Performance

Comparision Of Mechanisms

benchmark of different mechanism

Benchmark-System

  • CPU: Intel i7 13700h
  • OS: Linux 6.10.10-arch1-1 #1 SMP PREEMPT_DYNAMIC
  • Compiler:
    • rustc 1.81.0
    • gcc 14.2.1 20240910

Comparision Of Architectures

benchmark on different systems

Documentation

User Documentation

Contributor Documentation

API References

Supported Platforms

The support levels can be adjusted when required.

Operating SystemStateCurrent Support LevelTarget Support Level
Androidplanned-tier 1
FreeBSDdonetier 2tier 1
FreeRTOSplanned-tier 2
ThreadXplanned-tier 2
iOSplanned-tier 2
Linux (x86_64)donetier 2tier 1
Linux (aarch64)donetier 2tier 1
Linux (32-bit)donetier 2tier 1
Mac OSdonetier 2tier 2
QNX 7.1donetier 3tier 1
QNX 8.0in-progress-tier 1
VxWorksproof-of-concept1-tier 1
WatchOSplanned-tier 2
Windowsdonetier 2tier 2
  • tier 1 - All safety and security features are working.
  • tier 2 - Works with a restricted security and safety feature set.
  • tier 3 - Not tested in our CI, so might compile and run or not.

Note

Some commercial OS require expensive licenses and the support for these platforms rely on funding of the license costs.

Note

Yocto recipes are available at meta-iceoryx2

Language Bindings

LanguageState
C / C++done
Pythondone
Goplanned
C#planned
Javaplanned
Kotlinplanned
Luaplanned
Swiftplanned
Zigplanned

Commercial Support

ekxide IO GmbH
info@ekxide.io
  • commercial extensions and tooling
  • custom feature development
  • training and consulting
  • integration support
  • engineering services around the iceoryx ecosystem

Thanks To All Contributors

Thanks to everyone who has contributed to iceoryx2. Without their passion and dedication, the project wouldn't thrive. A list of people who have committed code can be found on github. However, contributions are not limited to code - testing the software, reporting bugs, and spreading the word about iceoryx2 are all equally valuable. A big thank you as well to those 'invisible' contributors who play a crucial role behind the scenes.

Footnotes

  1. A proof-of-concept for VxWorks platform support is available on this branch on the ekxide fork

About

Eclipse iceoryx2™ - true zero-copy inter-process-communication in pure Rust

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

3,812 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CICodecovExamplesFAQGitterRoadmap

iceoryx2 - Zero-Copy Lock-Free IPC with a Rust Core

Introduction

Welcome to iceoryx2, the efficient, and ultra-low latency inter-process communication middleware. This library is designed to provide you with fast and reliable zero-copy and lock-free inter-process communication mechanisms.

So if you want to communicate efficiently between multiple processes or applications iceoryx2 is for you. With iceoryx2, you can:

  • Send huge amounts of data using a publish/subscribe, request/response, pipeline (planned) or blackboard pattern (planned), making it ideal for scenarios where large datasets need to be shared.
  • Exchange signals through events, enabling quick and reliable signaling between processes.

iceoryx2 is based on a service-oriented architecture (SOA) and facilitates seamless inter-process communication (IPC).

It is all about providing a seamless experience for inter-process communication, featuring versatile messaging patterns. Whether you're diving into publish-subscribe, events, request-response, or the promise of upcoming features like pipelines, and blackboard, iceoryx2 has you covered.

One of the features of iceoryx2 is its consistently low transmission latency regardless of payload size, ensuring a predictable and reliable communication experience.

iceoryx2's origins can be traced back to iceoryx. By overcoming past technical debts and refining the architecture, iceoryx2 enables the modularity we've always desired.

In the near future, iceoryx2 is poised to support at least the same feature set and platforms as iceoryx, ensuring a seamless transition and offering enhanced capabilities for your inter-process communication needs. So, if you're looking for lightning-fast, cross-platform communication that doesn't compromise on performance or modularity, iceoryx2 is your answer.

Performance

Comparision Of Mechanisms

benchmark of different mechanism

Benchmark-System

  • CPU: Intel i7 13700h
  • OS: Linux 6.10.10-arch1-1 #1 SMP PREEMPT_DYNAMIC
  • Compiler:
    • rustc 1.81.0
    • gcc 14.2.1 20240910

Comparision Of Architectures

benchmark on different systems

Documentation

User Documentation

Contributor Documentation

API References

Supported Platforms

The support levels can be adjusted when required.

Operating SystemStateCurrent Support LevelTarget Support Level
Androidplanned-tier 1
FreeBSDdonetier 2tier 1
FreeRTOSplanned-tier 2
ThreadXplanned-tier 2
iOSplanned-tier 2
Linux (x86_64)donetier 2tier 1
Linux (aarch64)donetier 2tier 1
Linux (32-bit)donetier 2tier 1
Mac OSdonetier 2tier 2
QNX 7.1donetier 3tier 1
QNX 8.0in-progress-tier 1
VxWorksproof-of-concept1-tier 1
WatchOSplanned-tier 2
Windowsdonetier 2tier 2
  • tier 1 - All safety and security features are working.
  • tier 2 - Works with a restricted security and safety feature set.
  • tier 3 - Not tested in our CI, so might compile and run or not.

Note

Some commercial OS require expensive licenses and the support for these platforms rely on funding of the license costs.

Note

Yocto recipes are available at meta-iceoryx2

Language Bindings

LanguageState
C / C++done
Pythondone
Goplanned
C#planned
Javaplanned
Kotlinplanned
Luaplanned
Swiftplanned
Zigplanned

Commercial Support

ekxide IO GmbH
info@ekxide.io
  • commercial extensions and tooling
  • custom feature development
  • training and consulting
  • integration support
  • engineering services around the iceoryx ecosystem

Thanks To All Contributors

Thanks to everyone who has contributed to iceoryx2. Without their passion and dedication, the project wouldn't thrive. A list of people who have committed code can be found on github. However, contributions are not limited to code - testing the software, reporting bugs, and spreading the word about iceoryx2 are all equally valuable. A big thank you as well to those 'invisible' contributors who play a crucial role behind the scenes.

Footnotes

  1. A proof-of-concept for VxWorks platform support is available on this branch on the ekxide fork

About

Eclipse iceoryx2™ - true zero-copy inter-process-communication in pure Rust

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

3,812 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

CICodecovExamplesFAQGitterRoadmap

iceoryx2 - Zero-Copy Lock-Free IPC with a Rust Core

Introduction

Welcome to iceoryx2, the efficient, and ultra-low latency inter-process communication middleware. This library is designed to provide you with fast and reliable zero-copy and lock-free inter-process communication mechanisms.

So if you want to communicate efficiently between multiple processes or applications iceoryx2 is for you. With iceoryx2, you can:

  • Send huge amounts of data using a publish/subscribe, request/response, pipeline (planned) or blackboard pattern (planned), making it ideal for scenarios where large datasets need to be shared.
  • Exchange signals through events, enabling quick and reliable signaling between processes.

iceoryx2 is based on a service-oriented architecture (SOA) and facilitates seamless inter-process communication (IPC).

It is all about providing a seamless experience for inter-process communication, featuring versatile messaging patterns. Whether you're diving into publish-subscribe, events, request-response, or the promise of upcoming features like pipelines, and blackboard, iceoryx2 has you covered.

One of the features of iceoryx2 is its consistently low transmission latency regardless of payload size, ensuring a predictable and reliable communication experience.

iceoryx2's origins can be traced back to iceoryx. By overcoming past technical debts and refining the architecture, iceoryx2 enables the modularity we've always desired.

In the near future, iceoryx2 is poised to support at least the same feature set and platforms as iceoryx, ensuring a seamless transition and offering enhanced capabilities for your inter-process communication needs. So, if you're looking for lightning-fast, cross-platform communication that doesn't compromise on performance or modularity, iceoryx2 is your answer.

Performance

Comparision Of Mechanisms

benchmark of different mechanism

Benchmark-System

  • CPU: Intel i7 13700h
  • OS: Linux 6.10.10-arch1-1 #1 SMP PREEMPT_DYNAMIC
  • Compiler:
    • rustc 1.81.0
    • gcc 14.2.1 20240910

Comparision Of Architectures

benchmark on different systems

Documentation

User Documentation

Contributor Documentation

API References

Supported Platforms

The support levels can be adjusted when required.

Operating SystemStateCurrent Support LevelTarget Support Level
Androidplanned-tier 1
FreeBSDdonetier 2tier 1
FreeRTOSplanned-tier 2
ThreadXplanned-tier 2
iOSplanned-tier 2
Linux (x86_64)donetier 2tier 1
Linux (aarch64)donetier 2tier 1
Linux (32-bit)donetier 2tier 1
Mac OSdonetier 2tier 2
QNX 7.1donetier 3tier 1
QNX 8.0in-progress-tier 1
VxWorksproof-of-concept1-tier 1
WatchOSplanned-tier 2
Windowsdonetier 2tier 2
  • tier 1 - All safety and security features are working.
  • tier 2 - Works with a restricted security and safety feature set.
  • tier 3 - Not tested in our CI, so might compile and run or not.

Note

Some commercial OS require expensive licenses and the support for these platforms rely on funding of the license costs.

Note

Yocto recipes are available at meta-iceoryx2

Language Bindings

LanguageState
C / C++done
Pythondone
Goplanned
C#planned
Javaplanned
Kotlinplanned
Luaplanned
Swiftplanned
Zigplanned

Commercial Support

ekxide IO GmbH
info@ekxide.io
  • commercial extensions and tooling
  • custom feature development
  • training and consulting
  • integration support
  • engineering services around the iceoryx ecosystem

Thanks To All Contributors

Thanks to everyone who has contributed to iceoryx2. Without their passion and dedication, the project wouldn't thrive. A list of people who have committed code can be found on github. However, contributions are not limited to code - testing the software, reporting bugs, and spreading the word about iceoryx2 are all equally valuable. A big thank you as well to those 'invisible' contributors who play a crucial role behind the scenes.

Footnotes

  1. A proof-of-concept for VxWorks platform support is available on this branch on the ekxide fork

About

Eclipse iceoryx2™ - true zero-copy inter-process-communication in pure Rust

Resources

Code of conduct

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages