新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 超过 11 G 多

至于为什么是迁移成 Hydro 而不是原地升级 HustOJ 有以下几点原因。

  • 采用 Nix 作为环境,更安全
  • Vue3 + TypeScript 比 HustOJ 那一套技术栈现代多了
  • 随着 Hydro 的不断发展,Hydro 开始逐渐成为国内线下赛的指定 OJ,还能和 Domjudge 一起使用,成为了很多主办方的选择,认可度高。
  • 不断的更新支持和维护
  • 更现代的 UI 设计和功能