MOPR
单仓最优可移植运行时 Monorepo Optimal Portable Runtime
统一规范,基准驱动,性能第一,正确与稳定是隐含前提。
读作 M-O-P-R(或 mopr,/mɑpr/)。
项目简介
MOPR 是在统一规范约束下,以多轮基准测试为验证手段,从所有异构实现中筛选并维护性能最优运行时解的项目。它不是“基础库”,也不是“标准实现”——它的定位是标杆实现:为同一份规范下的其他实现提供可量化的性能参照与验证基准。
核心概念
| 概念 | 定义 | 职责 |
|---|---|---|
| Spec | 规范 | 定义行为契约与接口边界,划定实现必须遵守的范围 |
| Benchmark | 基准测试 | 以多轮、多维度的量化测试验证实现,产出排名依据 |
| MOPR | 标杆实现 | 满足 Spec 与 Benchmark 验证的前提下,性能最优的实现 |
设计原则
1. 性能第一,正确与稳定是隐含前提
性能是优化方向与排名依据的第一优先级。正确性与稳定性并非与性能并列的取舍维度,而是参与性能排名的前置条件:不满足正确性与稳定性验证的实现,不具备参与性能排名的资格。
每一轮基准测试同时覆盖三个维度:
- 正确性:输出是否符合 Spec 定义的行为契约
- 稳定性:长时间运行、压力与边界条件下是否可靠
- 性能:在前两者满足的前提下,是否达到最优
正确性与稳定性作为过滤条件,性能作为排序依据。
2. Spec 统一,实现自由
Spec 定义行为契约与接口边界。同一份规范下允许存在多种异构实现,MOPR 是其中经过多轮基准测试反复验证、在目标平台上始终正确且性能最优的实现,作为其他实现的对标基准。
3. 基准测试是设计驱动力
每个设计决策都必须回答一个问题:该改动是否提升性能? 其成立前提是不得破坏正确性与稳定性——若基准数据改善但正确性或稳定性测试失败,则该改动不成立。
4. 可移植性不等于性能下限
MOPR 在不同平台上分别追求该平台能达到的最高性能,而非让所有平台退化为同一套低性能通用实现。平台相关的极致优化是核心策略,但每份平台实现都必须先通过正确性与稳定性验证。
基准测试体系
基准测试套件按验证目标分为四类:
| 目录 | 类型 | 验证目标 |
|---|---|---|
benchmark/micro/ |
微基准 | 吞吐、延迟、内存占用 |
benchmark/macro/ |
场景基准 | 端到端性能 |
benchmark/stability/ |
稳定性测试 | 长时间运行、压力、边界条件 |
benchmark/regression/ |
回归检测 | 性能劣化监测 |
只有通过正确性与稳定性验证的实现,其性能数据才纳入排名与对照。
项目结构
mopr/
├── spec/ # 规范定义
│ ├── api.md # 接口契约
│ └── behavior.md # 行为语义
├── src/ # MOPR 实现
│ ├── core/ # 平台无关核心
│ └── platform/ # 平台相关极致优化
├── benchmark/ # 基准测试套件
│ ├── micro/ # 微基准:吞吐、延迟、内存
│ ├── macro/ # 场景基准:端到端性能
│ ├── stability/ # 稳定性:长时间运行、压力、边界
│ └── regression/ # 性能回归检测
└── docs/ # 设计决策记录
语言与版本要求
MOPR 是单仓多语言库(monolibrary),同一份规范下将来会有多种语言实现。各语言的版本基线由本项目独立维护,不要求与同系列 quant1x 仓库同步:
| 语言 | 最低版本 | 推荐版本 |
|---|---|---|
| Python | 3.12+ | 3.12.x |
| Go | 1.27+ | 1.27.x |
| Rust | 1.98.0+ | 1.98.0+(2024 edition) |
| C++ | C++20 | GCC 13+ / Clang 17+ / MSVC 14.3+ |
- 当前仓库实现以 C++20 + MSVC v143(Visual Studio 2022)+ CMake(≥3.25)/ Conan 2 为主,构建细节见 BUILDING.md。
- 后续新增 Python / Go / Rust 实现时,须遵循上表最低版本基线,不得使用低于基线的语言特性与 API;版本表变更由本项目独立评估。
快速开始
当前 C++ 工程(CMake + Conan 2)的构建与编译步骤见 BUILDING.md。
// TODO: 基准运行示例,待接口定义完成后补充
项目状态与路线图
🚧 早期阶段 — Spec 正在起草中,实现尚未稳定。
当前推进顺序:
- 起草 Spec:确定
spec/api.md(接口契约)与spec/behavior.md(行为语义) - 搭建基准测试套件与验证流程
- 基于平台无关核心实现首个基准实现
- 开展平台相关优化,并逐平台完成正确性、稳定性与性能验证
License / 协议
本项目采用 GNU Affero General Public License v3(AGPL-3.0 / SPDX: AGPL-3.0-only)授权。
- 允许自由使用、复制、修改与再分发,但派生作品必须同样以 AGPLv3 发布(强 Copyleft)。
- 通过网络提供服务的修改版本(含远程交互)须按第 13 条向用户开放对应源码。
- 完整条款见根目录 LICENSE 文件。
Copyright (C) 2026 Quant1X wangfengxy@sina.cn
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file mopr-0.0.38.tar.gz.
File metadata
- Download URL: mopr-0.0.38.tar.gz
- Upload date:
- Size: 122.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52173d47858455263a3f5f7ad8b3579a8b8ebaadf3dd924cfee945227f0f23b3
|
|
| MD5 |
d7a5145cb8f481b31f9eaa526201a94c
|
|
| BLAKE2b-256 |
80e35eeed9261052270f90e5b65939bdd9f0d0437a0ae8066f691ddb6c2c3e4b
|
File details
Details for the file mopr-0.0.38-py3-none-any.whl.
File metadata
- Download URL: mopr-0.0.38-py3-none-any.whl
- Upload date:
- Size: 85.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c73e7c9779040d8b354a54d607630d47df6d405e44196beecde62f1af2035f01
|
|
| MD5 |
a194141b060d7ab2fed1f77b3d2d503a
|
|
| BLAKE2b-256 |
392e3445eecddd54d5b7ef9a5e8fe14711c204cf70af82889508e838634ada57
|