Canadian shot putter Dylan Armstrong reached the podium for the second straight time on the Diamond League circuit on Saturday, achieving a season's best.

The Kamloops, B.C., native finished third at the Prefontaine Classic in Eugene, Ore., with a season-best throw of 21. 50 metres.

American Reese Hoffa won the event, going for 21.81 on his second attempt.

Armstrong, 31, was second after the first round, but Beijing Olympic gold medallist Tomasz Majewski of Poland moved into second with a distance of 21.61.

Armstrong, who won silver at the Diamond League stop in Shanghai last month, is rounding into form after suffering an arm injury during the indoor season.

Justin Rodhe of Kamloops, B.C., was seventh with a throw of 20.13.

Chinese hurdler Liu Xiang lunged across the finish line in 12.87 seconds.

The scoreboard result sent Liu straight into euphoria as he thrust his fist into the air before dancing and skipping around the track with unbridled exuberance.

Liu once held the world mark when he finished in 12.88 seconds during a 110-metre race in July 2006. Nearly two years later — just before the 2008 Beijing Olympics —Cuba's Dayron Robles took the record.

Robles was actually scheduled to be in the field, but had trouble securing his visa and pulled out of the competition at the last hour.

There were still plenty of other rivals to push Liu, who held off Aries Merritt and Jason Richardson in what was billed as one of the marquee events at Pre.

"I just treated it as a regular race," Liu said.

Allyson Felix was hard to miss in her aerodynamic black bodysuit with neon yellow patches on each leg. She was impossible to catch, too.

In a 200-meter race that was supposed to tight, possibly even down to the wire, Felix breezed away from the field, easily beating training partner Jeneba Tarmoh and crushing her main rival Carmelita Jeter.

Felix's time of 22.23 seconds was hardly spectacular, but her performance was, especially with the Summer Games right around the corner. She showed that she's definitely rounding into form.

"I feel like I'm in a good place right now," Felix said. "I tried to focus and power in. But they told me it didn't look like I pushed very hard at the end."

Teenager Kirani James of Grenada left the blocks a split second too early and was disqualified. But he protested and was allowed to run while the matter was sorted out.

The 19-year-old James got off to a solid start and had a slight lead on the homestretch. But reigning Olympic champion LaShawn Merritt used a strong kick to pass James with a few metres remaining.

It was the opposite of what transpired at the world championships last summer in South Korea. In that race, Merritt couldn't hold off the hard-charging James. But Merritt was hardly in top form back then. He was rusty in his first major meet after serving a 21-month suspension for using a banned substance that his lawyer said was the result of a male-enhancement product.

For Oscar Pistorius, his mission is to simply qualify for the Summer Games, and he's quickly running out of time. The double-amputee sprinter known as the "Blade Runner" finished the 400 in a disappointing time of 46.86 seconds.

Pistorius needs to run in 45.30 or better to give the South African his second Olympic time in the qualifying window. He has another chance next weekend in New York at the Adidas Grand Prix.

"I have to refocus after this and get some fuel in the tank for the next race," he said.

In other notable results:

  • Mo Farah of Britain beat a talented field in the 5,000, including training partner Galen Rupp, who wound up third.
  • Sanya Richards-Ross edged world champion Amantle Montsho in the 400.
  • Wallace Spearmon captured the 200 in convincing fashion.
  • Justin Gatlin held off Jamaican Nickel Ashmeade in the 100.
With files from CBCSports.ca