18
$\begingroup$

I'm writing a research paper and I have to basically say that one microcontroller is slower than an other microprocessor. However, I'm worried that simply saying that it's 'slower' wouldn't be appropriate in a research paper.

Am I right? Is it OK to just say that one processor is 'slower', or do I need to say something else? What else could I say? The best I have come up with is that one has 'less computational power' than the other or that the microcontroller has 'low computational power'. Unfortunately, these expressions don't seem to be too popular when searching online.

So, what would be a better and academically correct way of saying this?

$\endgroup$
  • 1
    $\begingroup$ I think you are looking for "clock speed". Then you could compare the no. of clock cycles similar instructions[e.g. ADD] take on both the processors and thereby comparing the total time each processor takes to execute the instruction . $\endgroup$ – PleaseHelp Feb 20 '15 at 17:33
  • 4
    $\begingroup$ Most academians I know would say, I don't know, "A is slower than B". $\endgroup$ – Raphael Feb 20 '15 at 19:19
  • 15
    $\begingroup$ You don't have to use fancy language in research papers. You just have to say what you mean and say it precisely. $\endgroup$ – David Richerby Feb 20 '15 at 19:47
  • $\begingroup$ It's not as if you were writing a patent application, are you? You just should be unambiguous and precise, though not necessarily concise. People like subtle repetitions, summaries and emphasis, as long as they concern issues they are interested in. $\endgroup$ – Archimedix Feb 21 '15 at 10:55
  • 1
    $\begingroup$ Is it a micro controller, is it a microprocessor? If you can't even decide on that, I'd be worried about just reading that one is "slower". $\endgroup$ – gnasher729 Feb 21 '15 at 13:57
38
$\begingroup$

Let me see if I can clear up a few potential misconceptions here.

Sometimes people think that when they write a research paper they have to use fancy language: it's not enough to just say what they mean, but rather, it has to be written in academic code with more complex-sounding language. Or, they think that using bigger words will make them sound more authoritative. This is not the case. If anything, it leads to papers that are overly pompous and unnecessarily hard to read.

Instead, I suggest you figure out what you mean, and then write that. Don't worry too much about how to say it (whether the word you are using is OK in a research paper). Do worry about being precise: figure out exactly what you mean, and then be precise in your wording.

You have a good intuition. Your hesitation about just saying one processor is slower than another is valid. (But not because you can't say one thing is slower than another in a research paper.) The issue I see with that wording is that it is not very precise. There are many things that 'slower' could mean.

What exactly do you mean by 'slower'? Slower in what way? And how do you know? What evidence do you have? Can you quantify it? How would you measure 'slowness' in a quantitative, defensible way?

Once you can answer those questions, then you can figure out how to write something more convincing in your paper. For instance, "processor X is 20% slower on the SpecCPU benchmark than processor Y" is more precise than "processor X is slower than processor Y", and backs up the claim with evidence.

But first you need to figure out precisely what you mean by 'slower', and why it matters to your argument, and then you can figure out how to be more precise in what you write and what evidence you can provide to back up your statement.

You won't always need to write with this level of care and precision. Sometimes, when you are just providing intuition or background, the specifics don't matter so much, and then you can just say that X is slower than Y. But if that statement plays a key role in your paper -- maybe it is a key part of the motivation for your paper, or it is a key part of the reasoning that underpins the design of your system -- then you should try to be as precise as you can, and provide evidence for the statement.

$\endgroup$
  • 1
    $\begingroup$ I agree; quantify. As can be seen in many video game benchmarks, X CPU may be faster than Y CPU in certain tests, but slower in others. If you say "X is slower than Y when doing A", that should be sufficiently objective and verifiable. $\endgroup$ – Doktor J Feb 21 '15 at 0:00
  • $\begingroup$ @DoktorJ If only the CPU was the only component determining execution speed. One has to be careful to keep all other components fixed, and to choose them in a way that does not (dis)advantage one of the competitors. $\endgroup$ – Raphael Feb 21 '15 at 10:24
  • $\begingroup$ @Raphael the only reviews worth reading are the ones that use otherwise identical systems :) It may be more difficult to do between AMD/Intel CPUs because motherboards/chipsets necessarily do not support both so you end up with different motherboards/chipsets as well... but just apply my example to video cards instead then! $\endgroup$ – Doktor J Feb 21 '15 at 20:05
  • $\begingroup$ I registered to upvote this. Say what you mean, in clear language. $\endgroup$ – frodoskywalker Feb 22 '15 at 11:40
2
$\begingroup$

Claiming that a microprocessor has a "speed" is very, very difficult nowadays.

You can look at the clock rate, which is mostly a meaningless number nowadays. Especially since microprocessors don't have one clock rate anymore, but run at varying speeds depending on many circumstances. You can look at the number of cores, which is also meaningless if we don't know how many cores the application can use. You can look at the computer architecture, and rely on claims of the manufacturers of speed. The computer's memory can have different speeds. If it doesn't have enough memory, the operating system starts swapping memory which takes time.

If you said "this microprocessor is slower", without some reasoning why it is slower for the application you are interested in, I would be dubious and think you might not know what you are talking about. If you said "it has less computational power" I'd think you are trying to bluff your way through the paper. If you called it "less performant" as was suggested, all doubts on my side would be gone.

Write down in your paper which microprocessor models you are comparing (they all have exact names so anyone interested can look up the details anyway), give all the relevant specs (architecture, clock speed, number of cores, amount of L1, L2 and L3 cache), and explain why one is slower for the purpose you are discussing, based on this data.

$\endgroup$
0
$\begingroup$

You probably need to take a set of programs, compiled and run on the various platforms and cite a "speedup" number for one versus the other for each program. You could give a simplistic MIPS number (throughput in millions of instructions per second) for one processor versus another, but that only makes sense if they are executing the same instructions (I presume that they are not). You could cite latency until the program completes.

Processor comparisons is a well known marketing game. You really don't have a well defined ordering unless you have a broad comparison that says the same thing across many comparisons.

$\endgroup$
  • $\begingroup$ Well, the paper I'm writing focuses on something else than just microcontrollers vs microprocessors, therefore, I would like to avoid throwing in numbers which are not too relevant to the whole paper; I would like to say that microcontrollers are 'slower' and move on to the main point. $\endgroup$ – Maksimiliāns Feb 20 '15 at 17:26
  • 1
    $\begingroup$ You can cite published benchmark numbers and move on; taking note if these tests were run by vendor shills or not. (Note that independent analysts are often "coin operated" to some degree, so the numbers might not mean much.) $\endgroup$ – Rob Feb 20 '15 at 18:01
0
$\begingroup$

This is an answer the question you asked instead of the question you really care about, but it seemed like a fun exercise: How would one attempt to rigorously "prove" (as far as possible) that one computer is slower than another?

I thought of one way: You write a virtual machine that simulates the "slow" processor and run it on the "fast" processor. If you can argue that any operation done by the "slow" processor takes at least as long as the same operation done by the virtual machine on the fast processor, then you have proven that it is slower. Because even if there is some program A that takes longer to run on the "fast" processor directly, we can always run A on the virtual machine on the "fast" processor. So for any program, the "fast" processor can run it faster by choosing the better option of either running it natively or on the VM.

Of course, proving the "if you can argue..." part would be impossibly complicated for a full modern machine. But perhaps it is possible to argue by benchmarking each primitive operation (like each machine instruction) in both cases. (Issues like different cache sizes would probably make this futile.) Another issue is that in practice, knowing whether a program will run faster on one processor or the other may be undecidable, but you have still theoretically shown that one processor is faster than the other.

$\endgroup$
  • 1
    $\begingroup$ In practice, it's unlikely that you'll be able to "argue" (in the sense of a mathematical proof) that any operation done by processor X takes at least as long as that same operation done on processor Y. The performance of modern processors is so complex -- with the effects of caching, branch prediction, and so on -- that this is hopeless. Therefore, your suggestion is not as useful as it might sound at first glance. Realistically, it's usually only feasible to do these kinds of comparisons via experiment (e.g., with benchmarks) rather than by mathematical/analytical proof. $\endgroup$ – D.W. Feb 20 '15 at 21:21
  • $\begingroup$ @D.W., completely agree. $\endgroup$ – usul Feb 20 '15 at 23:23
0
$\begingroup$

You can really just be straight out with it. You're over doing this, slow is the right word for it. However, a more formal context would be good.

As an example:

X evidence supports that Y processes at a slower speed compared to Z

$\endgroup$
  • $\begingroup$ And even "at slower speed" is unnecessary, since slow refers to speed by definition. $\endgroup$ – David Richerby Feb 22 '15 at 13:35
-4
$\begingroup$

"less performant" is a great way to say this, if the exact performance figures aren't affecting your results. For example, you might write something like:

Table X shows that this implementation runs in real-time on the Xeon processor used for benchmarking. If a less performant processor were to be used, such as an ARM Cortex M microcontroller popular in battery-powered embedded systems, then additional optimizations should be investigated.

The term "less performant" neatly wraps up all the factors affecting you: clock speed, architectural efficiency, cache sizes, memory latency, etc.

$\endgroup$
  • 2
    $\begingroup$ "Performant" isn't widely accepted as a word in English so I strongly disagree that it's "a great way to say this". What's wrong with using the ordinary English phrase "lower performance"? $\endgroup$ – David Richerby Feb 20 '15 at 22:29
  • 1
    $\begingroup$ @David because "performant" is the right word for talking about speed. On the other hand "performance" includes not only speed but also quality of results, correctness, robustness, etc. $\endgroup$ – Ben Voigt Feb 20 '15 at 23:09
  • 1
    $\begingroup$ I can't find a definition of "performant" anywhere. As such, I can only assume it means "having performance". Except you're saying that it somehow doesn't mean that. $\endgroup$ – David Richerby Feb 21 '15 at 0:19
  • $\begingroup$ en.wiktionary.org/wiki/performant says it's 'jargon' - like that's a bad thing! $\endgroup$ – Rob Cranfill Feb 22 '15 at 7:47

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.