I'm thinking of doing an experiment with a JS program to utilize Japanese Multiplication, and I want to ask whether or not a software math shortcut is actually a shortcut at all.

To be clear, I'm contemplating writing a program to get benchmarks for the comparison of normal multiplication and Japanese Multiplication via programming, and I'd like to ask whether or not this makes sense to do before spending time to build the experiment.

Remember, this is a question of whether or not this question is appropriate for this site. Any additional thoughts on the topic should be described either in the comments or answers to the actual question.

I've also asked whether or not this question would be appropriate on Stack Overflow, Programmers SE, and Computer Science SE:

Theoretically, the question would look like this:

Japanese Multiplication simulation - is a program actually capable of improving calculation speed? Or am I doomed from the start?

On SuperUser, I asked a (possibly silly) question about processors using mathematical shortcuts and would like to have a look at the possibility at the software application of that concept.

I'd like to write a JS simulation of Japanese Multiplication to get benchmarks on large calculations utilizing the shortcut vs traditional CPU multiplication. I'm curious as to whether it makes sense to do this.

enter image description here

My Question: I'd like to know whether or not a software math shortcut, as described above is actually a shortcut at all.

This is a question of programming concept. By utilizing the simulation of Japanese Multiplication, is my program actually capable of improving calculation speed? Or am I doomed from the start?

My theory is that since addition is computed faster than multiplication, a simulation of Japanese multiplication may actually allow a program to multiply (large) numbers faster than the CPU arithmetic unit can. I think this would be a very interesting finding, if it proves to be true.

  • $\begingroup$ /an offtopic note: I, personally, find it hard to believe that any program could perform multiplication on native types (e.g. 64-bit integers) faster than the ALU. But, that doesn't really answer your question here. $\endgroup$
    – apnorton
    Commented May 18, 2014 at 3:40
  • $\begingroup$ That's a fair idea. I'm interested in possibly testing it out on the premise that a well written (very efficiently programmed) calculation might actually succeed since this method of multiplication utilizes addition, which obviously computes a bit faster than multiplication. I think it's plausible that the shortcut might be able to beat default multiplication in speed when large numbers are calculated. Of course, that's the purpose of wanting to ask this question; to make sure I'm not simply wasting my time. @anorton $\endgroup$
    – user151684
    Commented May 18, 2014 at 3:51
  • $\begingroup$ Either way, I'd be interested to see properly formatted answers from math experts here. We'll see if your answer is received well. @anorton $\endgroup$
    – user151684
    Commented May 18, 2014 at 4:27

1 Answer 1


Yes, this question would be on-topic here, but would probably be a better fit on CompSci.SE (At least, in my opinion--we'll see what the community thinks based on the upvotes to this answer...)

Why? Computational complexity/efficiency can be answered in a rigorous, mathematical way. So, one could show that this approach actually relies on the computer's built-in multiplication algorithm, and hence cannot be any faster. However, this question borders on off-topic nature when we are asked to compare it to the computer's built-in algorithm--we can't expect Math.SE answerers to know how the ALU works, as that isn't a math question. CS.SE people, however, should know how the ALU works, and should be able to work with the computational complexity aspect of this question.

N.B: I'm really tired right now, so I'll have to check back in the morning to make sure that this post is remotely coherent. :)

  • $\begingroup$ Would it be appropriate for me to supply such information within the question? Would this community be able to utilize the structure of an ALU and a brief explanation of the way in which such calculations are handled? I would be happy to include it, as well as appropriate references. $\endgroup$
    – user151684
    Commented May 18, 2014 at 4:19
  • $\begingroup$ I'll go ahead and post the question, and any improvements can be suggested in the comments. $\endgroup$
    – user151684
    Commented May 18, 2014 at 9:28
  • 1
    $\begingroup$ I posted the question, but it was received quite badly here. $\endgroup$
    – user151684
    Commented May 18, 2014 at 9:49

You must log in to answer this question.