This is the mail archive of the cygwin-developers@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Recent changes to path_conv::check -- ouch


Egor,
I guess I missed this before but you added a potentially expensive
operation to the middle of the path_conv check loop by calling
update_fs_info repeatedly.  This looks like we will suffer a performance
hit in the non-ntea case for the privilege of a performance gain for the
use of ntea for symlinks.  I don't think that's acceptable.

It also looks like even in the ideal case, we're guaranteed to call
update_fs_info twice on the same path.

Also, you seemed to have changed the name of some recently added
elements to the path_conv class.  vol_flags became fs_flags and
vol_serial became fs_serial.

path_conv is probably the most frequently called function in cygwin so
we've tried very hard to keep the code flow as optimized as possible by
not calling the OS too often.  Maybe I'm wrong, but I think you've
probably added a performance hit with your recent changes.

Have you run any before/after performance checks on your code?

cgf


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]