1

I have the following code:

```
ParallelTable[
If[IntegerQ@Sqrt[80892036 + 17994 x (1 + x) (-5995 + 5998 x)], x,
Nothing], {x, 6694300, 31072325}]
```

It uses 6 kernels to compute the result. Is it possible to speed it further up, by for example using more kernels?

Yes. But that depends (i) on your hardware and (ii) on your

Mathematicalicense. Notice thatMathematicadoes not use nor count virtual cores, only physical ones. (Hyperthreading is usually pointless for well-written numerical code.) – Henrik Schumacher – 2020-01-10T10:51:08.077@HenrikSchumacher what does it depend on for the hardware, I've an intel core i7 8gen and 32 gb of ddr4 ram. And I've the Professional version of Mathematica – Jan – 2020-01-10T10:57:33.377

So how many cores does the processor have? Maybe 6? – Henrik Schumacher – 2020-01-10T10:59:23.920

@HenrikSchumacher yes 6 cores and 12 threads – Jan – 2020-01-10T11:03:33.120

As I said,

Mathematicadoes not care about hyperthreads. So 6 cores is the maximum that can be used byMathematica. – Henrik Schumacher – 2020-01-10T11:04:43.107Just to point out the bottleneck: These computations cannot be performed in machine integers because the numbers are too large. So the integer arithmetic has to be emulated in software. So without further mathematical tricks, this also cannot be compiled (which would be done by

`Table`

/`ParallelTable`

automatically if possible). – Henrik Schumacher – 2020-01-10T11:07:09.483@HenrikSchumacher So I can not speed up my calculation, that is the conclusion? – Jan – 2020-01-10T11:29:23.960

No. So far, we only know that it cannot be sped up

by brute force. But there might be cleverer algorithms out there. – Henrik Schumacher – 2020-01-10T11:49:02.2531

Please, if you use a brute force search to find solutions, use the fast square root options in this question. For example, results are returned 25 times faster by using sQ from @MichaelE2.

– KennyColnago – 2020-01-10T20:05:04.727