704 karma · joined March 1, 2016
I think it's also important not to centre Rust alone. In the larger picture, Rust has a combo of A) good timing, and B) the best evangelism. It stands on decades of memory safe language & runtime development, as well as the efforts of their many advocates.
A) sincerely, trustfully, optimistically, etc.
...or...
B) critically, skeptically, experimentally, observationally, etc.
Making sure the counter variable is sitting alone on its own cache line would completely remove the excessive ping-pong behaviour. The cache line with the counter would, of course, still ping-pong as it's mutated, but not excessively.
I'm not sure how those benchmarks translate to common real world use cases.
There are of course many more suggestions I didn't state. To pretend that there was just no way to avoid this is shameful.
Basically Ottawa police were insubordinate, sided with the truckers/occupiers/protesters, etc. The populist conservative provincial government completely failed to act, likely due to the protestors being on "their side".
> Ottawa was not being policed. Ticketing didn’t start for days. Tow-truck companies hesitated to move illegally parked trucks for fear of losing business from truckers after the protests ended. Protesters were refilling their trucks with jerry cans of diesel. When the police were ordered to put a stop to that, protesters began to carry empty jerry cans en masse to overwhelm law enforcement, but they needn’t have bothered: front-line officers were not following orders to stop them from gassing up. There were reports that sympathetic officers were sharing police intelligence with protesters. Anything the police did could backfire. Families with children were living in some of the trucks, and there were reports of firearms in others.