本帖最后由 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的使用情况:
以下是程序运行过程:
以下是主程序源码:
以下是打包过程:
以下是jar包(没错,是jar)
cputest_3-0.1.0-SNAPSHOT.jar
看到@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)
cputest_3-0.1.0-SNAPSHOT.jar

