AkiPolaris 发表于 2023-7-27 20:58:07

CPU Test Scala3版

本帖最后由 AkiPolaris 于 2023-7-27 20:58 编辑

看到@ATP 和 @爱电脑的昕宇 都在发CPU Test。
爱电脑的昕宇的Python版:暑假收官之作:CPU测速工具V2.0 java版 : CPU Test Java版(我的第一个Java小程序!)
ATP的C 版改编:CPU测速工具V2.0

恰好我最近在学Scala3,于是也以此为Flag用Scala3模仿着写了一个CPU Test。
Scala3是一个运行于jvm上的,具有面向对象和函数式特性的高级语言,其具有完善的类型推断特性,函数式语言的函数对象,也具有gc等jvm相关的特性。
当然,scala基于jvm,其运行效率比java略低,但亦有其开发效率高、函数式编程等特征。

由于scala的编程思路不同于Java等语言,因此虽然总体思路相似,但在测试细节上与上面二位有所不同,因此分数无法直接比较。
同时运行该测试需要scala环境(相应的也要java环境)。

以下是运行测试时对cpu的使用情况:

以下是程序运行过程:

以下是主程序源码:
import java.util.Date
import scala.io.StdIn.readInt
@main def Main() =
    def choose() = //选项
      welcome()
      try
            readInt() match
                case 1 => (1,test())
                case 2 => (2,about())
                case 3 => (3,())
                case _: Int => (0,println("无效命令"))
      catch
            case nfe: NumberFormatException => println("请只输入数字")

    def about() =
      println("""|这是一个简易CPU性能测试工具,也是我的第一个用Scala3编写的小程序。
                   |获取python版:https://social.luobotou.org/thread-52933-1-1.html
                   |获取Java版:https://bbs.luobotou.org/thread-55094-1-1.html
                   |由@ATP编写的C版:https://social.luobotou.org/thread-55087-1-1.html
                   |注意:由于编程语言的差异,以上版本的成绩之间没有可比性!
                   |""".stripMargin)

    def welcome() =
      println("""CPU Test Scala V1.0 By AkiPolaris
                  |成绩仅图一乐awa
                  |请选择模式:「1」 测试 「2」功能 「3」退出
                  |""".stripMargin)

    def time() = Date().getTime()

    def test() = //测试方法
      val list = (1L to 1_000_000_000L) //从1加到10^9
      val startTime = time()
      val cnt = list.reduce(_ + _)
      val endTime = time()
      val score = 1_000_000_000L/(endTime - startTime)
      println(s"分数为:$score")
   
    while choose() != (3,())
    do ()


以下是打包过程:


以下是jar包(没错,是jar)

OOO 发表于 2023-7-27 22:42:23

界面好看。
就是依赖的运行环境有点要求。

AkiPolaris 发表于 2023-7-28 10:18:56

OOO 发表于 2023-7-27 22:42
界面好看。
就是依赖的运行环境有点要求。

这个界面,是gnome shell的默认配置之一,加上我用的是fish作为命令行,就成这样了。
至于运行环境,只能说不带环境的打包是这样的,而且scala对于个人用户确实接触不到(像java还有mc等游戏/软件的推广),但目前我没找到自带环境的打包方法。

ATP 发表于 2023-7-28 11:46:42

AkiPolaris 发表于 2023-7-28 10:18
这个界面,是gnome shell的默认配置之一,加上我用的是fish作为命令行,就成这样了。
至于运行环境,只能 ...

啊哈我也喜欢用fish做命令行

jyssysz 发表于 2023-7-28 13:10:56

哈哈,编程大赛开始了。
{:05:}

yangeryuner 发表于 2023-7-28 20:04:39

我萝卜论坛人才济济{:37:}

爱电脑的昕宇 发表于 2023-7-29 06:40:33

强{:05:}            
真是条条大路通罗马啊

吃瓜喷众 发表于 2023-7-29 13:53:40

Java库得pip方式安装吧
页: [1] 2 3
查看完整版本: CPU Test Scala3版