docs: def _walk_all_files():
      """
      Optimize the files from the arugments list in two batches.
  
      One for absolute paths which are probably outside the current
      working directory tree and one for relative files.
      """
      # Init records
      record_dirs = set()
      result_set = set()
  
      for filename in Settings.paths:
          # Record dirs to put timestamps in later
          filename_full = os.path.abspath(filename)
          if Settings.recurse and os.path.isdir(filename_full):
              record_dirs.add(filename_full)
  
          walk_after = timestamp.get_walk_after(filename_full)
          results = walk_file(filename_full, walk_after, Settings.recurse)
          result_set = result_set.union(results)
  
      bytes_in = 0
      bytes_out = 0
      nag_about_gifs = False
      errors = []
      for result in result_set:
          res = result.get()
          if res.error:
              errors += [(res.final_filename, res.error)]
              continue
          bytes_in += res.bytes_in
          bytes_out += res.bytes_out
          nag_about_gifs = nag_about_gifs or res.nag_about_gifs
  
      return record_dirs, bytes_in, bytes_out, nag_about_gifs, errors