[0] lists 28 documented cases - if we ignore the 5 before 1943 (probably not reliable records), that gives 23 in just over 80 years or roughly one every 3.5 years (although you'd expect that to have increased over time as more people live or tourist near the trees)
Of those 23, 5 were infants (<3y), 1 was killed by 4 coconuts, 1 was killed by a bunch of 57 coconuts(!), and 2 were accidentally killed by their harvesting monkeys.
Killing an animal on their way to the beach is a free bonus for coconuts: they necessarily drop from the top of the tree and they need a high quality shell in any case for their primary job of floating on water and dispersing.
I was in south India for about a month and I heard of 1 person dying from a coconut during that time period and heard it wasn’t unheard of. Not a lot of people die but plenty of folks get injured.
M3 at work, Acer Swift 3 at home. Both are comparable in that regard. You can do 200k QPS of actual work (a little protobuf parsing, a little old-school ML, handling the networking, a little HTTP1.1 parsing, ...), more if you just want vanity metrics, just by wrapping something like uSockets [0] and not doing anything to explicitly pessimize the system.
You can do better with a hand-crafted solution, but most projects don't need anything fancier.