If you are concerned about the performance of the heatmap , I would recommend you two options: Leaflet.heat and Google Maps JS API v3 .
I recently worked with Leaflet PCBs and, having tried a few like you, I ended up with Leaflet.heat . The only reason for giving up on Google is the license, but it really works well.
This is an example from a demo page with 10k dots: 
This is done by the same Leaflet author, and even if it is still alpha / beta, it is pretty stable on my tests. It is not mentioned in the official sheet plugins page , and it took me a while to find it.
It is based on simpleheat , and it creates an HTML5 canvas on top of the Flyer to draw a heat map: so that means that it will only work with IE9 +.
Very quickly, even draw 1 to each frame from my tests.
The data format is an array of lat, long and a value similar to the following:
[[lat, lon, value], [...], [...], ... ]
You can specify your own gradient by passing it as an option when creating - it's a little strange that the keys are actually values, but it works - be careful with 0 :
{ ..., gradient: {0.4: 'blue', 0.65: 'lime', 1: 'red'} }
If you are looking for a more hexagonal shape instead, it was this morning I found this on bl.ocks.org : there is a hexbin plugin for d3 , which you can try to use in case.
Integration with Leaflet should not be so bad: after creating a layer on it, you can place your hexagons and fill them as a heat map (for example, in this example )