Using the Pine64 without heatsink gets you easily to to 45*C when running at full speed. This is perfectly normal and not a problem at all. The thermal configuration for the Linux images has been analyzed and optimized in detail (see
https://github.com/longsleep/build-pine64-image/pull/3). Our settings for Linux have been adjusted to what we found and the board will start to throttle when reaching 80*C and can run perfectly fine at 95*C which is the maximum normally reachable with these optimized settings. The SoC will shut down at 108*C, and do heavy throttling with a multitude of steps only disabling cores as the last resort. All the details are easily visible in the device tree source (
https://github.com/longsleep/build-pine6...2458-L2505).
Note that all these temperatures are the inner sensor value as reported by the SoC themal sensor. The chip is considerably cooler on the outside due to the plasic casing of the SoC.
A heatsink greatly improves heat dissipation for normal short burst work loads or in bad thermal environments (eg. inside a case with no air flow). Without a fan, the heat sink will reach its maximum dissipation capability after a couple of minutes of constant load (the exact time depends on the heat sink quality, ambient temperature and air flow).
I my testing, when with a heatsink and fan, it will give an average performance gain of 9%. Without a fan and a heat sink which maxes out at 50*C the average performance gain is around 3% (all under constant load, all cores).
To sum this up, without a fan it is impossible to keep below 80*C, with a good heatsink and fan the SoC temperature can stay at around 70*C at maximum speed heavy load (at 23*C ambient temperature).
One more thing not mentioned often enough. Doing any heavy load on the Pine64 will require a stable power supply which is almost impossible to get using micro USB powering. So if your board shuts of or freezes and you think it is the heat it most likely is not - you just got under voltage due to crappy power supply setup.