Comparing the "length of the campaign" in the US system to the equivalent in a parliamentary system isn't really an apples to apples comparison, since in a parliamentary system, you have a leader of the opposition who is also known months, if not years, in advance. How long before last year's Canadian election, for example, did we know that it would be Trudeau vs. Scheer?
Yeah, my quick research shows this seems to be the case, at least if you start counting at the conventions.
Brazil has a similarly long campaign if you start counting at the conventions (3 months: July-October; plus a couple extra weeks between rounds if a 2nd round is needed).
An even more comparable example would be France where the PS and LR held their primaries in January and December respectively; while the first round of the election was in late April and the 2nd round in early May. Which leaves a campaign time of 3-4 months again.
For the US; the 2016 DNC and RNC were held in July, and the election in early November; which leaves a campaign time of 3 months (August, September and October; and I imagine August is not all that active in terms of campaigning because summer).
In 2012 and 2008 the conventions were held much later, all the way in late August and early September; which leaves a much shorter campaign period of merely 2 months, which is most certainly reasonable.
Honestly I think the main reason for the even longer campaigns in the US would be the lack of a national primary day and the fact that primary season is unreasonably long, as if you start counting from the conventions the length becomes a lot more comparable.
Hypothetically the US could hold a national primary day on early June (when the last states vote irl); and the primary campaign would probably start in full after New Years'; though I guess candidates would declare a lot earlier than that; probably in fall 2019?