惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
H
Hacker News: Front Page
P
Palo Alto Networks Blog
T
ThreatConnect
Apple Machine Learning Research
Apple Machine Learning Research
博客园_首页
T
True Tiger Recordings
P
Privacy & Cybersecurity Law Blog
B
Blog
IT之家
IT之家
Last Week in AI
Last Week in AI
F
Full Disclosure
Hacker News: Ask HN
Hacker News: Ask HN
C
Comments on: Blog
Microsoft Azure Blog
Microsoft Azure Blog
C
Cybersecurity and Infrastructure Security Agency CISA
Microsoft Security Blog
Microsoft Security Blog
博客园 - 【当耐特】
N
News and Events Feed by Topic
NISL@THU
NISL@THU
腾讯CDC
雷峰网
雷峰网
Security Latest
Security Latest
李成银的技术随笔
M
Microsoft Research Blog - Microsoft Research
L
LangChain Blog
L
Lohrmann on Cybersecurity
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
C
Check Point Blog
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
博客园 - Franky
N
News | PayPal Newsroom
V
V2EX
A
About on SuperTechFans
The Register - Security
The Register - Security
月光博客
月光博客
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Google Online Security Blog
Google Online Security Blog
MyScale Blog
MyScale Blog
Cisco Talos Blog
Cisco Talos Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
C
Cyber Attacks, Cyber Crime and Cyber Security
The Hacker News
The Hacker News
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
IntelliJ IDEA : IntelliJ IDEA – the Leading IDE for Professional Development in Java and Kotlin | The JetBrains Blog
爱范儿
爱范儿
A
Arctic Wolf
L
LINUX DO - 最新话题
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More

Hacker News: Show HN

GitHub - Quintisimo/macfigure: Mac configuration in pkl. Simple alternative to nix-darwin Show HN: SafeRun – Replay debugging and inline prevention for AI agents 3 GitHub - sathvikc/agent-chat-bridge: Turn any AI agent chat session into an async agent. Register a timer, shell command, or webhook — the bridge automatically resumes the session with your prompt when the trigger fires. SnapAPI - Website Screenshot & Data Extraction API Introducing @cipherstash/stack Show HN: E2E Encrypted Terminal Screen Share Windows 98½ Show HN: SafeRun – Replay debugging and inline prevention for AI agents 2 Show HN: My custom Statusline for Claude Code (Python wrapper around claudeline) GitHub - kageroumado/phosphene: A video wallpaper engine for macOS Tahoe Best Remote Jobs — Work From Home | RemoteJobs.place udoc Free AI Rewriter - Revise GitHub - arashThr/hugo-flow: Simple rich-text CMS for Hugo weblogs. Try at https://hugo.arashtaher.com GitHub - light-cloud-com/ice: Free, open-source, visual studio for cloud infrastructure for macOS, Windows & Linux. GitHub - kouhxp/yapsnap: Snap any video URL or audio file into plaintext. No GPU. No cloud. One command. What if we made SIMA2 from Temu iPhone 版“Today” - App Store Runo - Web Scraping API | Any URL to Typed JSON Show HN: AI Editor for Websites GitHub - AdamGonda/ward: Run [ npm i ] safely, audit installs inside a docker container. The Crucible — 8 voices, one verdict Screenshot 2026 05 20 at 4 03 10 PM — Postimages Show HN: Chess Puzzles, but for Developers Show HN: I built Istanbul live transit map Show HN: Agent.email – sign up via curl, claim with a human OTP GitHub - mfairley/expo-callkit-telecom: 📞 CallKit + Core-Telecom for React Native + Expo. A modern react-native-callkeep alternative. I tried 4 LLM speedup techniques on CPU. Three made it slower. Show HN: I made a tool for learning scales, chords, and how to combine them Learn how to build AI products through practice 1 BTC = 17.17 troy oz of gold · Bitcoin Weigh-In p-Hacker — top trending Client Challenge hty GitHub - Artain-AI/ignite-ms: Fast self-hosted embedding engine for search, RAG, and reindexing workloads on NVIDIA GPUs. Built in Rust + TensorRT for teams that care about scale, cost, and control. GitHub - mupt-ai/dari-docs: optimize your documentation through fleets of agents GitHub - dcostenco/prism-coder: The Mind Palace for AI Agents - HIPAA-hardened Cognitive Architecture with on-device LLM (prism-coder:7b), Hebbian learning, ACT-R spreading activation, adversarial evaluation, persistent memory, multi-agent Hivemind and visual dashboard. Zero API keys required. Catio | The Architecture IDE for Modern Software Systems SysWP Radar — Veja TUDO que toca seu site homecrew — package manager for agent skills GitHub - platform-engineering-labs/formae: Infrastructure-as-Code Platform Built for the Future VibeKeys Max - Ready to Ship Show HN: We wrote forensic intelligence reports on 20 open-source codebases GitHub - bytedance/Lance: A 3B-active-parameter native unified multimodal model for image and video understanding, generation, and editing. GitHub - zero-intelligence/zero-protocol: ZERO.md — A universal protocol for personal AI context. Your AI knows your project. It doesn't know you. This file fixes that. Show HN: Chatroom with curl command (requires IPv6) Google Search Console MCP | CalmSEO GitHub - receptron/mulmoclaude: Multi-modal Claude Code Client ArchGenie — AI Cloud Architect for AWS, Azure & Google Cloud GitHub - ueberdosis/hocuspocus: The Yjs CRDT WebSocket backend for conflict-free real-time collaboration in your app. atrium — The shared development environment for humans and agents Show HN: ContextLens- Highlight any text, get context-relevant meaning instantly Show HN: Privacy Focused Voice Journal Free AI Headshot Generator | Professional Photos in 60 Seconds Show HN: Synthra – I got tired of gluing config sources together in Go GitHub - dipankar/dscode: The code editor you can take apart. GitHub - nastronot/sticky-icky: Browser-based sticker design tool for the Zebra LP2844 thermal printer GitHub - rgombash/ocl-nexus-local: Orchestrated Compute Layer for AI agents. Local K3s-based fabric for autonomous code execution, service orchestration, and native MCP tool discovery. LEGO Minifigure Rankings & Ratings One Dev Environment for Humans, Agents and CI Mathabito GitHub - agynio/platform: Agyn is an open-source Kubernetes-native runtime that moves AI agents like Claude Code and Codex from laptops to company infrastructure with the controls enterprises need. GitHub - RaphaelPrevost/hashmap-benchmark Show HN: AI-Powered DNA Research Assistant Show HN: Halftrace – See the shape of your agent's failures from your logs Show HN: Pay-as-you-play game servers from Discord (£2/mo, four games) ProposalKit.io — Proposals clients actually read and sign Show HN: I built a dashboard to combine my WHOOP, Oura and Apple Health data Show HN: I put Codex and Claude in a tank arena; Codex is winning 55% so far Doctor Visit Notes App for Patients and Caregivers | AI Doctor Notes Mashari - Simple AI-first project management Professor Goose - Active Recall AI Study Tutor Show HN: IResearch – C++ search that beat Lucene and Tantivy on their benchmark Document intelligence for AI engineering workflows. Show HN: Widget Cast – Video Widgets for Your iPhone and Apple Watch Raster | Enter the Grid Shitty AI App Idea Generator GitHub - elementalsouls/Claude-BugHunter: A Claude Code skill bundle for bug hunting and external red-team work - 51 skills, 15 slash commands, 574+ disclosed-report patterns curated across 24 vulnerability classes, plus enterprise identity + infrastructure attack matrices. Show HN: Paletty – 800 curated terminal themes and a contrast-aware generator GitHub - patriceckhart/zot-chrome-operator: Chrome extension + local bridge for chatting with zot from a Chrome side panel and letting zot operate browser tabs through a `browser_action` tool. Supporting fpgacapZero on the BRS-100-GW1NR9 Show HN: Give This Markdown to Your Coding Agent Before Publishing to NPM GitHub - ramayac/GoPOSIX: A Go-native, single-binary POSIX with >97% BusyBox test compatibility. GitHub - breschio/javalamp: A glowing terminal screensaver that keeps your Mac awake Show HN: SafeRun – Replay debugging and inline prevention for AI agents Teak - A Kotlin-inspired language that runs on Node.js Show HN: The user agents crawling HN today Webflow Exporter — Export Sites to HTML, CSS & Markdown CMS Capframe — Capability security for AI agents Show HN: RTFRA - A Humble Proposal [RFC] GitHub - MediaMolder/mediamolder: A media processing framework written in Go. GitHub - asamarts/alint: Language-agnostic linter for repository structure, files, and content GitHub - axledbetter/claude-autopilot: autopilot: spec → plan → implement → validate → PR → Codex review → bugbot. End-to-end Claude Code pipeline. Your AI-nativeStrategy PartnerAn agent-led strategy system that gives teams an end-to-end, problem-solving engine to navigate high-stakes business decisions. We bring consulting-grade strategic analysis into a continuous, structured system that helps teams move from ambiguity to clear, decision-ready outcomes. GitHub - JustVugg/gutenberg-cli: From any API surface to verified AI agent tools: Go CLI + MCP + skills + SQLite + policy + proofs. Show HN: Reckoner – a semantic browser for structured data Show HN: Remindy – A Spotlight-style reminder app for Mac Gamification UI Kit by Trophy Show HN: AgentWing – make AI agents complete tasks faster GitHub - rajatarya/mdviewer: A fast, lightweight native Markdown viewer for macOS
GitHub - riyaneel/Tachyon: Tachyon, Inter-Process Communication primitive.
riyaneel · 2026-04-18 · via Hacker News: Show HN

CI PyPI Crates.io Go Reference Maven Central (Java) Maven Central (Kotlin) npm License

Same machine. RAM speed. 7 languages.

56.5 ns round-trip. Zero-copy. Python, Node.js, Java, Kotlin, Rust, Go, C++.


How fast?

Transport p50 RTT Cross-language Zero-copy
Tachyon 56.5 ns ✓ (7 languages)
iceoryx ~150 ns C++ only
Aeron IPC ~250 ns same-lang only
Chronicle Queue ~250 ns Java only
Unix domain socket ~2 µs
ZeroMQ (ipc://) ~10 µs
gRPC (localhost) ~1 ms

All measurements are same-machine IPC. Aeron also supports network transport (UDP); Tachyon is same-machine only by design. memfd and SCM_RIGHTS are local primitives.

i7-12650H · DDR5-5600 · Linux 6.19 · full methodology below


Why Tachyon?

  • Nothing is faster in the cross-language space. Aeron (~250 ns, Java or C++), Chronicle Queue (~250 ns, Java), and iceoryx (~150 ns, C++) match the latency in a single language. Tachyon does it across 7.
  • Zero-copy from producer to PyTorch/NumPy. DLPack support means a C++ process can feed tensors to Python with no serialization, no memcpy, no glue.
  • One dependency: your kernel. No broker, no daemon, no media driver. Two processes, one shared ring, done.

When to use Tachyon

  • ML inference pipeline: a C++ or Rust process generates feature vectors faster than Python can consume them. Tachyon lets PyTorch read directly from shared memory via DLPack or memoryview, with no serialization and no kernel copies on the hot path.
  • Trading feed: a native order book process pushes market data ticks at 1M+ msg/sec to a Python strategy. Zero-copy send_zero_copy + typed type_id routing keeps the producer below 100 ns per message.
  • Audio / video inter-process: a real-time encoder or DSP process pushes fixed-size frames to a consumer on the same machine. The SPSC ring absorbs bursts during consumer pauses without dropping frames or blocking the producer.

Install

Python - compiles the C++ core at install time, requires GCC 14+ or Clang 17+:

pip install tachyon-ipc

Note: the PyPI package is tachyon-ipc, not tachyon (which is an unrelated quantum simulator). Always install with pip install tachyon-ipc.

Node.js:

npm install @tachyon-ipc/core

Java (Maven):

<dependency>
    <groupId>dev.tachyon-ipc</groupId>
    <artifactId>tachyon-java</artifactId>
    <version>0.3.5</version>
</dependency>

Kotlin (Gradle):

implementation("dev.tachyon-ipc:tachyon-kotlin:0.3.5")

Rust:

cargo add tachyon-ipc

Go:

go get github.com/riyaneel/tachyon/bindings/go@v0.3.5

C++ (CMake FetchContent):

include(FetchContent)

FetchContent_Declare(tachyon
		GIT_REPOSITORY https://github.com/riyaneel/tachyon.git
		GIT_TAG v0.3.5
)
FetchContent_GetProperties(tachyon)
if (NOT tachyon_POPULATED)
	FetchContent_Populate(tachyon)
	add_subdirectory(${tachyon_SOURCE_DIR}/core ${tachyon_BINARY_DIR}/tachyon-core)
endif ()

target_link_libraries(my_app PRIVATE tachyon)

Quickstart

Python: Standard API

Two terminals, two processes.

# terminal 1 - consumer first (owns the socket)
python3 - <<'EOF'
import tachyon
with tachyon.Bus.listen("/tmp/demo.sock", 1 << 16) as bus:
    msg = next(iter(bus))
    print(f"received type_id={msg.type_id} data={msg.data}")
EOF

# terminal 2
python3 - <<'EOF'
import tachyon
with tachyon.Bus.connect("/tmp/demo.sock") as bus:
    bus.send(b"hello tachyon", type_id=1)
EOF

Python: Zero-Copy

# terminal 1
python3 - <<'EOF'
import tachyon
with tachyon.Bus.listen("/tmp/demo_zc.sock", 1 << 16) as bus:
    with bus.recv_zero_copy() as rx:
        with memoryview(rx) as mv:
            print(f"received {mv.tobytes()}")
EOF

# terminal 2
python3 - <<'EOF'
import tachyon
payload = b"zero_copy_payload"
with tachyon.Bus.connect("/tmp/demo_zc.sock") as bus:
    with bus.send_zero_copy(size=len(payload), type_id=42) as tx:
        with memoryview(tx) as mv:
            mv[:] = payload
        tx.actual_size = len(payload)
EOF

Python: DLPack / PyTorch

# terminal 1
python3 - <<'EOF'
import torch, tachyon
with tachyon.Bus.listen("/tmp/demo_dl.sock", 1 << 16) as bus:
    with bus.drain_batch() as batch:
        tensor = torch.from_dlpack(batch[0]).view(torch.float32)
        print(tensor)  # tensor([1., 2., 3., 4.])
        del tensor
EOF

# terminal 2
python3 - <<'EOF'
import struct, tachyon
data = struct.pack("4f", 1.0, 2.0, 3.0, 4.0)
with tachyon.Bus.connect("/tmp/demo_dl.sock") as bus:
    with bus.send_zero_copy(size=len(data), type_id=1) as tx:
        with memoryview(tx) as mv:
            mv[:] = data
        tx.actual_size = len(data)
EOF

Rust

use std::thread;
use tachyon_ipc::Bus;

const SOCK: &str = "/tmp/demo_rust.sock";
const CAP: usize = 1 << 16;

fn main() {
    let srv = thread::spawn(|| {
        let bus = Bus::listen(SOCK, CAP).unwrap();
        let guard = bus.acquire_rx(10_000).unwrap();
        println!("received {} bytes, type_id={}", guard.actual_size, guard.type_id);
        guard.commit().unwrap();
    });

    thread::sleep(std::time::Duration::from_millis(20));

    let bus = Bus::connect(SOCK).unwrap();
    bus.send(b"hello tachyon", 1).unwrap();

    srv.join().unwrap();
}

C++

#include <tachyon/arena.hpp>
#include <tachyon/shm.hpp>
#include <cstring>

using namespace tachyon::core;

int main() {
    constexpr size_t CAPACITY = 4096;
    constexpr size_t SHM_SIZE = sizeof(MemoryLayout) + CAPACITY;

    auto shm      = SharedMemory::create("demo", SHM_SIZE).value();
    auto producer = Arena::format(shm.data(), CAPACITY).value();
    auto consumer = Arena::attach(shm.data()).value();

    std::byte *tx = producer.acquire_tx(32);
    std::memset(tx, 0xAB, 32);
    producer.commit_tx(32, /*type_id=*/1);
    producer.flush();

    uint32_t type_id = 0;
    size_t   actual  = 0;
    const std::byte *rx = consumer.acquire_rx(type_id, actual);
    consumer.commit_rx();
}

Benchmarks

Ping-pong RTT, two processes, 32-byte payload, 1 000 000 samples.
Machine: Intel Core i7-12650H, 64 GiB DDR5-5600 SODIMM.
Build: GCC 14, Release, SCHED_FIFO priority 99, mlockall, cores 8/9 pinned.

Percentile Latency
Min 51.3 ns
p50 56.5 ns
p90 101.2 ns
p99 112.4 ns
p99.9 122 ns
p99.99 467.3 ns
Max 4 938 ns

Throughput: 13 229 K RTT/sec · One-way p50: 28.3 ns

p99.99 reflects scheduler jitter on an untuned kernel. With isolcpus=8,9, the tail converges toward the p99 band.


Examples

End-to-end cross-language examples in examples/. Each runs in two terminals and uses a typed payload with a sentinel shutdown signal.

Example Producer Consumer Throughput Payload
cpp_producer_cpp_consumer C++ C++ 13 229 K RTT/s · p50 56.5 ns 32 bytes
python_producer_rust_consumer Python Rust 1 060 K msg/s 32 bytes MarketTick
rust_producer_python_consumer Rust Python (torch) 510 K frames/s · 0.51 GB/s 1 024 bytes f32[256]
cpp_producer_python_consumer C++ Python (torch) 533 K frames/s · 0.53 GB/s 1 024 bytes f32[256]

All numbers: i7-12650H · DDR5-5600 · Fedora 43 · Linux 6.19.11 · no CPU isolation (except cpp_producer_cpp_consumer which uses SCHED_FIFO + core pinning).


Architecture

Tachyon decouples the control plane (connection bootstrap) from the data plane (hot-path I/O).

Control plane. Process discovery and the initial ABI handshake run over a Unix domain socket. The socket transfers an anonymous memfd file descriptor via SCM_RIGHTS, then is permanently discarded. If the producer and consumer were compiled with differing TACHYON_MSG_ALIGNMENT values, the connection is rejected before the first byte of data is exchanged.

Data plane. All subsequent I/O operates directly in the shared memory segment with no kernel involvement. The SPSC ring uses memory_order_acquire / memory_order_release atomics with amortized batch publication: the shared head/tail indices are updated at most once every 32 messages or on an explicit flush().

Hardware sympathy. Every control structure (message headers, atomic indices, watchdog flags) is padded to 64-byte or 128-byte boundaries. False sharing between producer and consumer cache lines is structurally impossible.

Hybrid wait strategy. The consumer spins for a bounded threshold (cpu_relax()), then sleeps via SYS_futex (Linux) or __ulock_wait (macOS) with a 200 ms watchdog timeout. Kernel sleeps are bounded, so the thread periodically returns to the host runtime to process signals.

Zero-copy contract. C++ and Rust expose raw pointers or slices tied to the ring buffer lifetime. Python surfaces the buffer protocol (memoryview) and DLPack (__dlpack__), allowing PyTorch, JAX, and NumPy to consume payloads directly from shared memory without copying.

For wire protocol details and ABI guarantees → ABI.md.
For socket lifecycle, supervision patterns, and capacity sizing → INTEGRATION.md.


Requirements

Component Minimum
OS Linux 5.10+ (primary), macOS 13+ (tier-2). Windows: not supported (memfd, SCM_RIGHTS are POSIX-only)
Compiler Clang 17+ for basic use, Clang 21+ for preset-based builds
CMake 3.31+
Python 3.10+
Node.js 20+
Java 21+ (Panama FFM GA)
Kotlin 2.0+
Go 1.23+
Rust stable (2024 edition)

FAQ

vs Aeron / iceoryx / Chronicle Queue?

  • Aeron (~250 ns): excellent, adds network transport (UDP), same-language only. Tachyon is same-machine only, cross-language.
  • iceoryx (~150 ns): excellent C++-only shared-memory IPC for automotive/ROS2. No Python, Java, Node.
  • Chronicle Queue (~250 ns): Java-only, disk-persistent by design.

Tachyon is the only sub-100 ns same-machine IPC that works natively across 7 languages.

vs Python's multiprocessing.SharedMemory?
stdlib gives you a raw buffer. Tachyon gives you a lock-free SPSC queue with message framing, typed routing, zero-copy receive, and a cross-language ABI. Both ends Python, simple buffer → stdlib. Anything else → Tachyon.

Why SPSC and not MPMC?
SPSC is the only topology that eliminates coordination overhead entirely and hits sub-100 ns. For fan-out, use N independent SPSC buses. Native MPSC is planned.


License

Apache 2.0