新OJ第一任站长
新OJ第一任站长
2022 级 计算机科学与技术 专业
在2024年上半年学期使用 Alpine Linux 搭建并迁移了旧的 OJ 系统。
原先 OJ 使用的是 Ubuntu 18.04 + HustOJ,年久失修,版本过低,性能低下,无法满足日益增长的 OJ 需求。为此,我作为一名 Linux 爱好者 和一名 ACMer,决定使用自己的能力迁移我们的 OJ。
新 OJ 采用了更轻量级的 Alpine Linux,使相同配置下的机器逃出了臃肿卡顿的 Ubuntu。至于为什么选择 Alpine 呢?以下是几点原因。
- Docker 容器常用的基底 Linux 系统,足够轻量
- 不使用 Glibc,采用 musl 作为基础 C 库,对于 OJ 来说,更轻量小巧的 C 库可以减少运行时占用。
- 内存占用低,比 Ubuntu 的内存低了不是一丁点,OJ 刚开机的时候只有几百兆的占用,而 Ubuntu 超过 G 多
至于为什么是迁移成 Hydro 而不是原地升级 HustOJ 有以下几点原因。
- 采用 Nix 作为环境,更安全
- Vue3 + TypeScript 比 HustOJ 那一套技术栈现代多了
- 随着 Hydro 的不断发展,Hydro 开始逐渐成为国内线下赛的指定 OJ,还能和 Domjudge 一起使用,成为了很多主办方的选择,认可度高。
- 不断的更新支持和维护
- 更现代的 UI 设计和功能