Re: Heap32Next performance awful on 64-bit Win7 (Was: CryptoAPI calls failing in rand_win on Windows 7)

2009-11-13 Thread James Baker
Ger Hobbelt g...@hobbelt.com wrote: Odd question maybe, but does the API call slowdown too when traversing other heaps (which carry fewer items)? Yes. This surprised me, but Heap32Next takes the same amount of time to execute when traversing the 2nd heaplist (which has 15 items) as it does

Re: Heap32Next performance awful on 64-bit Win7 (Was: CryptoAPI calls failing in rand_win on Windows 7)

2009-11-13 Thread Ger Hobbelt
On Fri, Nov 13, 2009 at 6:34 PM, James Baker j...@j-baker.org wrote: [...] Each and every call takes the same long amount of time.  To me, this indicates that the time spent is not actually spent *finding* the next heap entry (as if we were traversing a linked list to get to our destination),

Heap32Next performance awful on 64-bit Win7 (Was: CryptoAPI calls failing in rand_win on Windows 7)

2009-11-12 Thread James Baker
Punchline: The time taken by a call to Heap32Next on 64-bit Windows-7 SCALES (roughly linearly?) with the number of heap entries in the heap list. This seems to be a serious problem that would affect (at least) most 32-bit-compiled OpenSSL users on 64-bit Win7. I've cleared my accusation against

Re: Heap32Next performance awful on 64-bit Win7 (Was: CryptoAPI calls failing in rand_win on Windows 7)

2009-11-12 Thread James Baker
I've confirmed my linear performance conjecture w/r/t heap objects. Click here to see pretty pictures graphing my results: http://thenewjamesbaker.blogspot.com/2009/11/performance-of-heap32next-on-64-bit.html On Thu, Nov 12, 2009 at 11:50 AM, James Baker j...@j-baker.org wrote: Punchline: The

Re: Heap32Next performance awful on 64-bit Win7 (Was: CryptoAPI calls failing in rand_win on Windows 7)

2009-11-12 Thread Ger Hobbelt
Odd question maybe, but does the API call slowdown too when traversing other heaps (which carry fewer items)? I assume not, but since you tested this and I don't see that aspect in your blog. (Pondering what can be done here; when the answer is 'no' to previous it means the only way out is to