{\fn黑体\fs22\bord1\shad0\3ahbe\4ah00\fscx67\fscy66\2chffffff\3ch808080}我..
高精度,Web Assembly 为瑞士以弗梅里斯.
- 🚀 最佳级: 比纯粹的JS更快,更小,更准确 执行.
- 🛡️ 保险:为FFI互动提供基于锈蚀的内存安全.
- 📦 通用: works in Node.js, Deno, Bun, and 浏览器.
特征
- 全瑞士以弗梅里斯: 包装完整的 C 库(v2.1.0.03).
- 无依赖:被生成的WASM没有外部运行时间道具.
- 类型安全: 完整类型脚本定义.
- 异态:在Web Assembly运行的任何地方运行.
基准
1. 复杂的计算(如月球位置)
当精确度重要时, swisseph-wasm 两者都是 快点 财务报告和审定财务报表 更多
准确。 。 。 .
| 环境 | 摇篮-摇篮 | 天文学引擎 | 比较 |
|---|---|---|---|
| 德诺 (奔驰) | ~182 000 里特尔/秒 | ~126 000 里特尔/秒 | 1.44x 更快 🚀 |
2. 简单计算(如太阳位置)
简单的计算, 调用WebAssembly的间接费用占主导地位。 纯JS 这里速度更快.
| 环境 | 摇篮-摇篮 | 天文学引擎 | 说明 |
|---|---|---|---|
| 浏览器 (Chrome) | ~319 000 行动/秒 | ~57.7万行动/秒 | 隐含的WASM vs 纯 JS |
| 代诺( 本地) | ~178 000 行动/秒 | ~ 434,000 行动/秒 | 默认装入器 |
内容提要: 使用
swisseph-wasm专业级占星学(精度+) 复杂速度). 使用astronomy-engine用于UI/可视化(低精度+) )),简单速度.
自己来跑吧
deno task bench
deno run -A benches/deno_throughput.ts
# For browser: Serve root and open benches/browser_bench.html
安装
德诺/JSR
deno add jsr:@fusionstrings/swisseph-wasm
Rust (货运)
用作本地的 Rust 箱子 :
cargo add swisseph-wasm
高级: 导入生WASM( Deno) :
import wasmBytes from "@fusionstrings/swisseph-wasm/wasm";
const module = new WebAssembly.Module(wasmBytes);
国家预防机制/节点.js
npm install @fusionstrings/swisseph-wasm
浏览器 (Zero-Config)
直接使用捆绑浏览器版本( 内含 WASM ) :
import { swe_julday } from "@fusionstrings/swisseph-wasm/browser";
// WASM initializes automatically
快速启动
import {
SE_GREG_CAL,
SE_MOON,
SE_SUN,
swe_calc_ut,
swe_julday,
} from "@fusionstrings/swisseph-wasm";
// 1. Calculate Julian Day for Jan 1, 2000, 12:00 UTC
const jd = swe_julday(2000, 1, 1, 12.0, SE_GREG_CAL);
console.log(`Julian Day: ${jd}`); // 2451545.0
// 2. Calculate Sun Position
const sun = swe_calc_ut(jd, SE_SUN, 0);
console.log("Sun Longitude:", sun.longitude);
// 3. Calculate Moon Position
const moon = swe_calc_ut(jd, SE_MOON, 0);
console.log("Moon Longitude:", moon.longitude);
来源建筑
先决条件
- 锈数字 :
rustup target add wasm32-unknown-unknown - 德诺: 任务管理.
- 萨尔瓦多: 编辑 C 库到 WASM 所需的.
macOS 用户数字 :
brew install llvm
构建命令
构建脚本自动检测出Homebrew LLVM.
deno task build
维修
版本管理
更新Deno、Cargo和国家预防机制的版本:
deno task bump-version <new-version>
# Example: deno task bump-version 1.2.3
此命令验证版本格式、 更新所有配置文件并同步
Cargo.lock。 。 。 .
许可证
MIT许可证。 根据瑞士Ephemeris(GPL/商业双重许可证). 说明: 使用该图书馆意味着遵守瑞士以弗梅里斯许可证条款.