I've been reshaping an entire electoral roll (over 3 million entries) to get up to 12 flatmates in Stata 15. I usually run the program overnight on a remote server, but thought I'd try fastreshape with a sample. The results are much less neat, and include subvariables without a subscript, e.g. "title19f" that don't occur with reshape. Is this to be expected since the "help fastreshape" advice states "fast speeds up the processing of reshape significantly by not sorting the dataset post-reshape"?

----------------------- copy starting from the next line -----------------------
Code:
* Example generated by -dataex-. To install: ssc install dataex
clear
input byte(id_19 mail_id person_n) str19 mailname19f str3 title19f str11 surname19f str9 forename19f byte elect19f
 1 1 1 "Mrs Joanna Smith"    "Mrs" "Smith"       "Joanna"    1
 2 1 2 "Mr John Smith"       "Mrs" "Smith"       "John"      1
 3 1 3 "Fiona Smith"         ""    "Smith"       "Fiona"     1
 4 2 1 "Mr Jeff Wilson"      "Mrs" "Wilson"      "Jeff"      2
 5 2 2 "Ms Rachel Wright"    "Ms"  "Wright"      "Rachel"    2
 6 3 1 "Mr Richard Brown"    "Mrs" "Brown"       "Richard"   3
 7 3 2 "Mrs Elizabeth Jones" "Mrs" "Jones"       "Elizabeth" 3
 8 3 3 "Steve Jones Brown"   ""    "Jones Brown" "Steve"     3
 9 3 4 "Alexander Brown"     ""    "Brown"       "Alexander" 3
10 4 1 "Shane Patel"         ""    "Patel"       "Shane"     4
end

My program is: use "Z:\2019 local government rolls\NamesPractice.dta"

fastreshape wide id_19 mailname19f title19f surname19f forename19f elect19f, i(mail_id)j(person_n)
fastreshape long id_19 mailname19f , i(mail_id)j(person_n)
drop if id_19==.

save "Z:\2019 local government rolls\NamesPractice Reshaped fast.dta"

The above, of course, is simplified made up data. To run the program with reshape simply drop "fast"