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
界面好看。
就是依赖的运行环境有点要求。
这个界面,是gnome shell的默认配置之一,加上我用的是fish作为命令行,就成这样了。
至于运行环境,只能说不带环境的打包是这样的,而且scala对于个人用户确实接触不到(像java还有mc等游戏/软件的推广),但目前我没找到自带环境的打包方法。 AkiPolaris 发表于 2023-7-28 10:18
这个界面,是gnome shell的默认配置之一,加上我用的是fish作为命令行,就成这样了。
至于运行环境,只能 ...
啊哈我也喜欢用fish做命令行 哈哈,编程大赛开始了。
{:05:} 我萝卜论坛人才济济{:37:} 强{:05:}
真是条条大路通罗马啊 Java库得pip方式安装吧