Philip Martin wrote:
>Branko Čibej <brane@xbc.nu> writes:
>
>
>
>>O.K., see r16270. I'd appreciate it if someone could compile this with
>>GCC again, just to make sure all warnings have gone away.
>>
>>
>
>Switching on -O2 optimisation:
>
>../svn/subversion/libsvn_wc/adm_files.c: In function 'svn_wc_is_adm_dir':
>../svn/subversion/libsvn_wc/adm_files.c:72: warning: dereferencing type-punned pointer will break strict-aliasing rules
>../svn/subversion/libsvn_wc/adm_files.c: In function 'svn_wc_set_adm_dir':
>../svn/subversion/libsvn_wc/adm_files.c:101: warning: dereferencing type-punned pointer will break strict-aliasing rules
>../svn/subversion/libsvn_wc/adm_files.c:102: warning: dereferencing type-punned pointer will break strict-aliasing rules
>../svn/subversion/libsvn_wc/adm_files.c: In function 'v_extend_with_adm_name':
>../svn/subversion/libsvn_wc/adm_files.c:141: warning: dereferencing type-punned pointer will break strict-aliasing rules
>
>
Damn. I expected something like that...
>There's also a performance issue here. Any function that simply wants
>to read the adm directory name now has to go through a CAS. The
>default CAS implementation is the generic mutex based implementation
>in apr_atomic.c, so that means that every time a file in the .svn
>directory is accessed a mutex will need to locked and unlocked.
>That's a *lot* of mutex operations, could this be a bottleneck? Linux
>on x86 can use the asm versions, but that's not the default and
>doesn't help other platforms.
>
>
I didn't notice any performance hits when running the tests -- not that
I'd expect any in that context.
So, any suggestions? We could do away with the atomics completely _if_
we require single-threaded initialisation.
-- Brane
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Mon Sep 26 15:06:34 2005