this post was submitted on 02 Dec 2023
0 points (NaN% liked)

Advent Of Code

767 readers
1 users here now

An unofficial home for the advent of code community on programming.dev!

Advent of Code is an annual Advent calendar of small programming puzzles for a variety of skill sets and skill levels that can be solved in any programming language you like.

AoC 2023

Solution Threads

M T W T F S S
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25

Rules/Guidelines

Relevant Communities

Relevant Links

Credits

Icon base by Lorc under CC BY 3.0 with modifications to add a gradient

console.log('Hello World')

founded 1 year ago
MODERATORS
 

Is there a way to measure performance without depending on the hardware, i.e. two entirely different computers get the same score for the same code?

I could probably run the program on a server or something, but something local feels more reliable.

top 3 comments
sorted by: hot top controversial new old
[–] stifle867@programming.dev 0 points 9 months ago (1 children)

Im theory you could try counting CPU cycles or something analogous, or algorithmic complexity as the other commenter mentioned. You could also try to measure it in comparison to different code.

Outside of that, and in any practical sense, no you can't. Performance measurements are dependent on the machine as much as the software.

If a car is hardware, and the driver is software, how would you measure the performance of the driver in the different cars? The only way I can think of is if you had 2 different drivers and could compare their times in both cars. If driver 1 is 2x as fast in car 1, and 2x as fast in car 2, you could say driver 1 has a score 2x higher than driver 2.

[–] FuzzChef@feddit.de 0 points 9 months ago

CPU cycles depend on the instruction set of the hardware. This would also require compilation without any optimization to avoid even software dependency.

[–] FuzzChef@feddit.de 0 points 9 months ago

Yes, you can consider the algorithmic complexity of your code, which is independent of any hardware.