Edgewall Software

Changes between Version 3 and Version 8 of Ticket #11329

Nov 19, 2013, 1:51:43 AM (7 years ago)
Ryan J Ollos

Here are the times for an OS with a low resolution timestamp filesystem (EXT3), based on n = 3 executions of each:

  • Before: 203-211 seconds (with 13 test failures in the authorization tests, like the one shown in comment:17:ticket:11069)
  • After: 253-257 seconds

On an OS with a high resolution timestamp filesystem (EXT4), the execution time is insignificantly affected by the change, and the execution time is 220-225 seconds. So I think the slowdown is probably closer to 25 seconds since the Before tests on EXT3 would take longer to execute if the failing tests ran to completion.

The slowdown is greater than I expected, but since most developers will work on a modern filesystem, I wouldn't expect it to affect development efforts much. Let me know if anyone thinks the solution will be problematic and I can investigate alternatives.

With the change in place, we should be able to update these hints:

since the configuration file should always be reparsed after a save operation, even on a platform with a low resolution timestamp. Regardless, it is probably better advice to use a platform with a high resolution timestamp.

I added an improvement to the functional tests, based on a hint from Jun in comment:54:ticket:5658: [31658dca/rjollos.git]. The full set of changes can be found in log:rjollos.git:t11329.2.


  • Ticket #11329

    • Property Status newassigned
  • Ticket #11329 – Release Notes

    v3 v8  
     1On platforms with a low resolution timestamp, each save operation will modify the file timestamp so that the file is sure to be reparsed.
  • Ticket #11329 – API Changes

    v3 v8  
     1The function `wait_for_file_mtime_change` can be placed before a `save` operation to ensure that the timestamp will be changed by the call to `save`.