You need the usage of each core over time or the core average over time to judge the efficiency.
In the attached figure, you can see the cpu usage of a relatively large simulation with 250 cores.
There are frequently idle times for some (or many of the cores).
However, most time is spend in the solver for this simulation and, thus, the efficiency is quite good.
The core efficiency is easily less in other simulations, e.g. for smaller problems (fraction of highly efficient solver time reduces), when writing many outputs (VTU files, terminal output, Ofile, etc.), heavy network I/O involved, etc.