How to improve efficiency in periodicity detection? Our data set has $10^4$ data points, but has a long baseline and many gaps.

If we bin the data, there would be $10^8$ data points ($[t,\rm {value}]$), but only about 1% are non-zero values.

How to improve the detection efficiency? 

Is a multi-threading way possible (especially for Lomb-Scargle)?

For example, if I use LombScargle in astropy.stats,

freq, power = LombScargle.autopower(minimum_frequency=0.5, maximum_frequency=1.5, normalization='standard')


there are two problems:


It is slow and easy to get memoryError.
It can't utilize the computing power as much as possible.


So my question is about the efficiency. For the data set above, what is the best method?
AstroPy

Jake Vanderplas (Director of Open Software at the University of Washington eScience Institute) has written a Pythonic Preambulations post Fast Lomb-Scargle Periodograms in Python which by definition appears to be a good place to start to learn how to do Lomb-Scargle Periodograms... Fast... in Python. 

I have not read it yet in full, but I've found other posts of his to be extremely useful. 

He starts out by explaining the implementation in AstroPy which if you are going to be doing Astronomy, is probably a good thing to become familliar with.

SciPy

Alternatively, there is scipy.signal.lombscargle which you can try assuming you have a current version of SciPy installed but want to try something different than AstroPy or want to compare performance or results. 

StackOverflow

I found over 40 posts containing 'Lomb-Scargle' in Stack Overflow which is a very good sign!

I notice that you've been active there and know how to ask well-received questions. Since your asking about speed and errors, StackOverflow is your go-to source! However, don't forget to be as clear as possible and quote all error messages and symptoms, and see if you can somehow add a short Minimum Complete and Verifiable Example or MCVE. That's hard when your problem results from a very large dataset I know.