完成语义检查,整理项目

This commit is contained in:
LIm1tZz7 committed 2026-09-22 21:26:54 +08:00
1 parent 0791fe0446
commit 91ce26d7f0
17 files changed
+447 -301

No files matched your search

+6 -21
View File
@@ -17,6 +17,7 @@
作为函数式编程语言,从语言层面契合SQL语句解析和代数数学运算,同时有强大的类型安全系统。
- SQL词法分析、AST
- 语义分析:表/列存在性与类型检查(执行前的关卡)
- 事务处理
- 查询优化、内存表管理
- 关系代数运算
@@ -41,22 +42,6 @@
> 如果找到了较好的Rust+Haskell集成方法也会及时替换
# 代码规模
| 语言 / 类别 | 文件数 | 行数 | 说明 |
| --------------- | -----: | -------: | --------------------------------------------------------------- |
| Haskell(引擎) | 11 | 902 | `chusql-engine/src/` 10 个模块 + `app/Main.hs` |
| Haskell(测试) | 1 | 1058 | `test/Spec.hs`,124 条用例 |
| Haskell(基准) | 1 | 118 | `benchmark/chusql-engine/src/Main.hs` |
| Rust | 0 | 0 | `chusql-storage/` 尚未开工 |
| 前端 | 0 | 0 | `chusql-web/` 尚未开工 |
| Markdown 文档 | 6 | 1456 | `README.md` + `docs/` 3 篇 + `benchmark/` 2 篇 |
| 构建 / 配置 | 9 | 231 | cabal、`stack.yaml(.lock)`、`tasks.json`、`.gitignore`、LICENSE |
| 项目计划 | 1 | 368 | `chusql-engine/projectplan.txt` |
| **合计** | **29** | **4133** | 另有 3 个 `.gitkeep` 占位文件未计入 |
> 最近更新:2026-09-19
# 性能基准
**测试环境**:Windows / GHC 9.10.3 / `-O2`
@@ -65,9 +50,9 @@
| 查询 | 结果行数 | 未优化 | 优化后 | 加速 |
| ------------------------------------------ | -------: | -------: | ----------: | --------: |
| `JOIN` + `WHERE u.age > 90` | 45 | 125.0 ms | **7.1 ms** | **17.7x** |
| `JOIN`(无 WHERE,只有投影) | 500 | 132.8 ms | 105.5 ms | 1.3x |
| `JOIN` + `WHERE` + `ORDER BY` + `LIMIT 10` | 10 | 171.9 ms | **10.3 ms** | **16.8x** |
| 单表 `WHERE age > 90`(对照组) | 45 | 0.111 ms | 0.153 ms | 0.7x |
| `JOIN` + `WHERE u.age > 90` | 45 | 242.2 ms | **16.6 ms** | **14.6x** |
| `JOIN`(无 WHERE,只有投影) | 500 | 210.9 ms | 195.3 ms | 1.1x |
| `JOIN` + `WHERE` + `ORDER BY` + `LIMIT 10` | 10 | 164.1 ms | **14.2 ms** | **11.6x** |
| 单表 `WHERE age > 90`(对照组) | 45 | 0.175 ms | 0.290 ms | 0.6x |
> 最近更新:2026-09-19
> 最近更新:2026-09-22(绝对值受机器状态影响,倍率更稳定;同机同法可复现)