diff options
| author | Abdellah El Morabit <nsrddyn@gmail.com> | 2025-11-19 15:01:14 +0100 |
|---|---|---|
| committer | Abdellah El Morabit <nsrddyn@gmail.com> | 2025-11-19 15:01:14 +0100 |
| commit | 4bb2ff6828e344c0c1398f9ac5ddb318948c4a47 (patch) | |
| tree | b4543831c51d4f1b2a7eeb62e42bfedeaf33e453 | |
| parent | 308f6addd0615ff073f76297630f1e716e00ed48 (diff) | |
feature: performance measuring to be implemented in prime generator
- created new prime class
- measures performance based on time ( for now )
- needs further implementation
| -rw-r--r-- | src/main/scala/com/nsrddyn/Main.scala | 7 | ||||
| -rw-r--r-- | src/main/scala/com/nsrddyn/cpu/ALU/Prime.scala | 20 | ||||
| -rw-r--r-- | src/main/scala/com/nsrddyn/tools/Measurable.scala | 5 |
3 files changed, 28 insertions, 4 deletions
diff --git a/src/main/scala/com/nsrddyn/Main.scala b/src/main/scala/com/nsrddyn/Main.scala index dd7530c..a27597b 100644 --- a/src/main/scala/com/nsrddyn/Main.scala +++ b/src/main/scala/com/nsrddyn/Main.scala @@ -3,6 +3,7 @@ package com.nsrddyn object Torque { import java.time.Instant + import com.nsrddyn.alu.* @main def main(args: String*): Unit = @@ -15,6 +16,12 @@ object Torque { val pr = new Prime() + /* val intMax = 2147483647 pr.run(intMax) + */ + + val intMax = 2147483647 + println(pr.measure()) + } diff --git a/src/main/scala/com/nsrddyn/cpu/ALU/Prime.scala b/src/main/scala/com/nsrddyn/cpu/ALU/Prime.scala index 3e6ad6f..47c83f1 100644 --- a/src/main/scala/com/nsrddyn/cpu/ALU/Prime.scala +++ b/src/main/scala/com/nsrddyn/cpu/ALU/Prime.scala @@ -1,9 +1,9 @@ -package com.nsrddyn +package com.nsrddyn.alu +import com.nsrddyn.tools.Measurable -class Prime() { - +class Prime() extends Measurable: /* * Calculate all primes up to limit @@ -18,11 +18,23 @@ class Prime() { * */ + + /* + * TODO: I did the countrary of what i wanted to accieve with the is prime function + * We want the function to be less optimized so that the CPU has more work == more stress + */ + def isPrime(n: Int): Boolean = { if n <= 1 then false else !(2 to math.sqrt(n).toInt).exists(i => n % i == 0) } def run(n: Int): Unit = for i <- 0 to n do isPrime(i) -} + + def measure(): Long = { + + // TODO: implement measure methode to measure the time that it takes to find that prime number + System.nanoTime() + + } diff --git a/src/main/scala/com/nsrddyn/tools/Measurable.scala b/src/main/scala/com/nsrddyn/tools/Measurable.scala new file mode 100644 index 0000000..3d0234a --- /dev/null +++ b/src/main/scala/com/nsrddyn/tools/Measurable.scala @@ -0,0 +1,5 @@ +package com.nsrddyn.tools + +trait Measurable { + def measure(): Long +} |
