あー、間違えてた

ケース2の場合だと、INSERT文が一括処理になっているから早くなっていたのか。

正確に比較するためには、

def func(i):
    print i
    Person(firstName="%s"%i, lastName="%s"%i)

for i in xrange(100):
  sqlhub.doInTransaction(func, i)

こうする必要があって、これだと速度はあんまり変わらなかった。あまりにも速度差がありすぎて怪しんでいたから納得。