World today is flooded with data. This also applies to astroimaging amateurs. Modern CMOS cameras has a large number of pixels and single subframe after converting to RGB color can occupy several hundreds of megabytes. Also low read noise in CMOS cameras tempts to use short subframe exposure time and to collect large number of frames. The extreme case is planetary imaging, where high resolution movie clips are shot, and then aligned, filtered and stacked. This way single Moon mosaic image can contain hundred or more gigabytes of raw data. Fortunately disk space is becoming cheaper, and also CPU power is now very affordable.
But how much calculating power is required for astroimaging tasks? Together with few astromates I decided to do some tests with selected applications at some common tasks, like aligning or stacking images, applying some demanding filters or stacking image from movie clip. Here are the test cases used with three different application:
- PixInsight – star alignment of 25 frames, 16Mpx each
- PixInsight – image integration of 25 frames, 16Mpx each
- PixInsight – star mask of integrated frames
- PixInsight – deconvoultion (20 iterations) of integrated frames
- MaxIm DL 6 – star alignment of 25 frames, 16Mpx each
- MaxIm DL 6 – image stack of 25 frames, 16Mpx each
- AutoStakkert 3 – stack of 1.2GB avi movie with best 100, 200, 300 and 400 frames
Tests were made on the same data with the same settings for each case. For some machines it was not possible to perform some tests due to different reasons. And the machines that were used are:
- Dell 745 desktop with Core 2 Duo E6600 CPU (2 cores, 2 threads), SSD drive, 4GB RAM, Win7 x64
- Lenovo T420s laptop with i5-2520M CPU (2 cores, 4 threads), SSD drive, 16GB RAM, Win10 x64
- the same as above with i5-2520M HyperThreading disabled (2 cores, 2 threads)
- Toshiba Satellite laptop with i3-4005U CPU (2 cores, 4 threads), SSD drive, 8GB RAM, Win10 x64
- Lenovo laptop with i5-3320M CPU (2 cores, 4 threads), SSD drive, 16GB RAM, Win10 x64
- Lenovo Legion Y720 laptop with i7-7700HQ CPU (4 cores, 8 threads), SSD drive, 16GB RAM, Win10 x64
- desktop computer with Pentium D940 CPU (2 cores, 2 threads), HDD drive, 4GB RAM, Win7 x64
- laptop computer with i5-8500 CPU (6 cores, 6 threads), SSD drive, 16GB RAM, Win10 x64
- mini PC Esprimo Q5030 with Core 2 Duo P8700 CPU (2 cores, 2 threads), SSD drive, 4GB RAM, Win7 x64
- MacBook Pro with i7-7820HQ CPU (4 cores, 8 threads), SSD drive, 16GB RAM, macOS High Sierra
- Dell 7020 desktop with i7-4790 CPU (4 cores, 8 threads), SSD drive, 16GB RAM, Win10 x64
- the same as above with i7-4790 HyperThreading disabled (4 cores, 4 threads)
- desktop computer with AMD Ryzen 3 X1300 CPU (4 cores, 4 threads), SSD drive, 8GB RAM, Win 10 x64
It pretty much looks that the most significant factor in the three tested applications is CPU. The test results with similar CPU but different platforms and even operating systems gave similar results. And the results are presented in the table below. After the columns with machines specifications there are four blue columns with PixInsight test results, two green column with MaxIm DL results and one brown with AutoStakkert results. Last column is overall performance normalised to the most efficient machine. All tests results are given in seconds.
Results are not quite surprising, so not much comment is needed 🙂
PixInsight takes much power from CPU. Multitask processes (like star alignment or image integration) scales very well with number of cores and CPU clock (later in the article I will compare disk performance). Other processes like star mask or deconvolution also seem to take advantage on both core number and clock – although the relation just a bit different.
MaxIm DL 6 – here situation is much simpler. MaxIm seem to use only one core and scales only with CPU clock. Though for Pentium D940 processor this application achieved very poor result despite of high clock rate. It may be caused by CPU architecture – maybe some command set is missing in this old processor?
AutoStakkert 3 likes both high clocks and cores very much, though the difference between i7 4C and i5 6C is quite small. Either AS! does not scale above 4 cores well, or i7 architecture is better used with AutoStakkert.
After disabling HyperThreading (that eliminated CPU logical cores) results for applications that uses multicore dropped by about 15-20% (rows 4/7 and 9/10).
There is only one AMD processor in the table and only one test has been made. In fact this result should be lower in the table (you can compare AS! test time directly).
Since astroimaging data is usually quite big also at hard drive I wanted to test disk performance in the tasks that loads the disk – like image align and stack in PixInsight. And the results in seconds are in the table below.
As you can see there is not much difference in performance between SSD and “classic” hard disk drive. Whole process depends much more on CPU power than disk speed. Till the moment you use portable USB2.0 disk drive – then you can expect some performance drop, at least for image alignment process, where many disk operations are done. But – it is still usable.
Results are not quite surprising 🙂 What I found unexpected is MaxIm DL performance – this software works with the one core only. It is still quite fast though. Other tested applications (PixInsight and AutoStakkert!) utilise whole available CPU power and you can expect results proportional to the CPU benchmarks.
I also found quite surprising the fact that hard disk demanding operations in PixInsight (like image alignment) takes no benefit from using SSD drive, when compared to 5400rpm rotating disk drive.
Special thanks to cyberboss, Jacek E. and tayson.82 users from forumastronomiczne.pl and for 3rd_rock_resident from stargazerslounge.com for sharing their test results. Also thanks to DarX86 for sharing Moon movie clip for tests.
Cover photo by Joshua Sortino on Unsplash