Message102831
| Author |
pitrou |
| Recipients |
beazley, dabeaz, flox, kristjan.jonsson, loewis, pitrou, techtonik, torsten |
| Date |
2010年04月11日.12:38:52 |
| SpamBayes Score |
7.003351e-05 |
| Marked as misclassified |
No |
| Message-id |
<1270989655.3494.2.camel@localhost> |
| In-reply-to |
<1270984146.83.0.532372545466.issue8299@psf.upfronthosting.co.za> |
| Content |
> SHA1 hashing (C)
>
> threads= 1: 1275 iterations/s. balance
> threads= 2: 1267 ( 99%) 0.7238
> threads= 3: 1271 ( 99%) 0.2405
> threads= 4: 1270 ( 99%) 0.1508
>
> Using the forced "do_yield" helps balance things, but not much. We
> still have a .7 balance in SHA1 hashing for two threads.
Which is not unreasonable, since SHA1 releases the GIL. The unbalance
would be produced by the Windows scheduler, not by Python.
Note: "do_yield" is not meant to "balance" things as much as to make
measurements meaningful at all. Without switching at all during say 2
seconds, the numbers become totally worthless.
> If no one objects, I'd like to submit this changed ccbench.py to the trunk.
Please let me take a look. |
|