One Million Factorial!!!

Published sometime in 2015, when I was 15

Some months ago, I computed 1,000,000! with my own program Tratth Factorial
Here are some of the top digits:

1 000 000!
     = 826393 1688331240062 3766461031726 6629113534797 8963873045167 7758855633796 1103564508444 6530511311463 9733516068042 1087858854146 4746950647836 1823012109754 2329959011564 1746249173798 8838926919341 4176545783239 3198728024721 9893964365444 5521615339205 8351993879894 1774206240841 5939877018188 0722316925205 7737128436859 8152223893115 2125527954682 9742282164292 7484938877847 1244357228595 0934362117645 2544930522658 4119762990561 9012120241419 0025341283194 3306507620700 4051595915117 1866138447509 0075583403742 7137686877042 0937510235026 3340124834131 4910217684549 4312736363990 6697195296134 5733318557782 7926166902990 5620205436940 9707066647851 9504010036753 8197854967995 0259346666425 6139785735597 6414208350625 4450884333700 1910346467387 6845514386079 7752914909146 4312409535521 1845475532162 2415039686972 3374549983306 7172880953624 6480778183202 8542637742169 7236875196416 8475864710824 2100299778180 9176778983751 7988505230228 7080350414430 3311438653107 0330335994687 2239071017851 8474029783087 9413648463768 1285596049813 1717659293531 6306651748060 9772403756072 9107514247916 9220460316550 2971693540476 6371619036938 1921896827532 2134926847519 5350100400335 2557547490846 9657828425688 5422102069005 1353277002966 9416657845610 3340306518057 5312836746639 3027362382302 8538366724195 7608614717411 3288761986851 1924639222394 5490341840717 0452419127856 0391738180656 3229205598034 1496433939625 0021784977258 1266113824842 9892684615234 4236111829745 6949837880338 1468746995170 9983634639027 3203494110645 8942724905792 3058601814348 9052638296317 7342611731621 3792554305450 9844614644539 1994993004101 1911236049279 4946012951306...  
.....

The resulting file size is about 6MB. Comparatively, 100,000! is 478 kB and 10,000! is 38 kB.
The computation took around two hours. Here's the full validation file:

Validation of Factorial 1000000!  
================================  
Stored in :       1000000_factorial.txt  
Internal Digits : 428132  
Decimal Digits  : ~5565716  
Time Taken      : 7383.56 seconds  
Speed           : 57.9845 internal digits/sec  
Decimal speed   : 753.799 decimal digits/sec  
Program used    : Tratth Factorial 1.0 32-bit by Syed Fahad  
Base used       : 10000000000000  
================================

To be accurate, 1,000,000! has 5,565,709 (+-2 maybe) decimal digits.
This isn't a very big achievement or world record, but for me, I'm proud that it was my program that did the job.
This program has lots of scope of improvement.
(i) Use a better multiplication algorithm that has lesser than O(n^2) complexity. (i.e. Karatsuba, Toom-cook, FFT based, Schonage-Strassen algorithm etc)
(ii) Use a better algorithm, like prime sieve or binary splitting.
(iii) Do a 64-bit compile (can you, please?)
(iv) Speed up the program by a factor of 1000 or so ;-)
Some of the last non-zero digits are:

5011397109644 6709466902941 2536961159143 9530817794974 8984634931740 0557393978919 3355722627204 4492899156758 9948405211310 5825617650584 1254400000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000 0000000000000...........

The trailing zeros are too many to be posted. Note that other programs like SillyPi can do the same thing within seconds with magic of binary splitting and FFT-based multiplication! Nevertheless, Tratth Factorial wasn't created for speed, but as an practical introduction to arbitrary precision in C++ for self-learning.