|
|
|
|
|
by arigo
4951 days ago
|
|
The HTM buffer is too small for any language for doing what I'm talking about, which is long transactions. Haswell uses its L1 Data cache as buffer --- which means at most 32KB or 64KB, and only if you're on a lucky day. (Actually it depends on cache collision and alignment issues: it can in theory overflow with only 9 memory accesses, but I'd expect the numbers to be generally more than half the full cache size.) The HTM buffer is big enough if the goal is "only" to remove the GIL. It's going to be a 10-lines patch to CPython or PyPy (yes, really!). The GIL is often made into a big issue, but in my opinion removing it isn't the final solution to all multicore troubles in Python: that's just the first step. |
|