]> git.ipfire.org Git - thirdparty/ccache.git/commitdiff
perf: Remove now unnecessary fs::path::string calls
authorJoel Rosdahl <joel@rosdahl.net>
Sat, 20 Jan 2024 14:04:03 +0000 (15:04 +0100)
committerJoel Rosdahl <joel@rosdahl.net>
Sat, 27 Jan 2024 09:50:16 +0000 (10:50 +0100)
src/core/FileRecompressor.cpp
src/core/mainoptions.cpp
src/storage/local/LocalStorage.cpp

index da66dc30611e96d491bbac7ab92317601cccab63..c2dedf8409c9ff4411611041dfea14b1e2583e24 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2022-2023 Joel Rosdahl and other contributors
+// Copyright (C) 2022-2024 Joel Rosdahl and other contributors
 //
 // See doc/AUTHORS.adoc for a complete list of contributors.
 //
@@ -34,7 +34,7 @@ FileRecompressor::recompress(const DirEntry& dir_entry,
                              std::optional<int8_t> level,
                              KeepAtime keep_atime)
 {
-  core::CacheEntry::Header header(dir_entry.path().string());
+  core::CacheEntry::Header header(dir_entry.path());
 
   const int8_t wanted_level =
     level ? (*level == 0 ? core::CacheEntry::default_compression_level : *level)
@@ -44,8 +44,8 @@ FileRecompressor::recompress(const DirEntry& dir_entry,
 
   if (header.compression_level != wanted_level) {
     const auto cache_file_data = util::value_or_throw<core::Error>(
-      util::read_file<util::Bytes>(dir_entry.path().string()),
-      FMT("Failed to read {}: ", dir_entry.path().string()));
+      util::read_file<util::Bytes>(dir_entry.path()),
+      FMT("Failed to read {}: ", dir_entry.path()));
     core::CacheEntry cache_entry(cache_file_data);
     cache_entry.verify_checksum();
 
@@ -54,19 +54,17 @@ FileRecompressor::recompress(const DirEntry& dir_entry,
       level ? core::CompressionType::zstd : core::CompressionType::none;
     header.compression_level = wanted_level;
 
-    AtomicFile new_cache_file(dir_entry.path().string(),
-                              AtomicFile::Mode::binary);
+    AtomicFile new_cache_file(dir_entry.path(), AtomicFile::Mode::binary);
     new_cache_file.write(
       core::CacheEntry::serialize(header, cache_entry.payload()));
     new_cache_file.commit();
-    new_dir_entry =
-      DirEntry(dir_entry.path().string(), DirEntry::LogOnError::yes);
+    new_dir_entry = DirEntry(dir_entry.path(), DirEntry::LogOnError::yes);
   }
 
   // Restore mtime/atime to keep cache LRU cleanup working as expected:
   if (keep_atime == KeepAtime::yes || new_dir_entry) {
     util::set_timestamps(
-      dir_entry.path().string(), dir_entry.mtime(), dir_entry.atime());
+      dir_entry.path(), dir_entry.mtime(), dir_entry.atime());
   }
 
   m_content_size += util::likely_size_on_disk(header.entry_size);
index 37d45fee3bb221083b8e696fc707df5f75e2c089..6824ebd1737021fe3e3568cffee602b3be64a6d6 100644 (file)
@@ -377,7 +377,7 @@ trim_dir(const std::string& dir,
       if (final_size <= trim_max_size) {
         break;
       }
-      if (util::remove(file.path().string())) {
+      if (util::remove(file.path())) {
         ++removed_files;
         final_size -= file.size_on_disk();
       }
index 65d1615f681dc5a81b50361656b6d53d40846a9a..fc6f06804338242bfe60c1ea5af44fd76471b877 100644 (file)
@@ -222,10 +222,10 @@ delete_file(const DirEntry& dir_entry,
             uint64_t& files_in_cache)
 {
   const auto result =
-    util::remove_nfs_safe(dir_entry.path().string(), util::LogFailure::no);
+    util::remove_nfs_safe(dir_entry.path(), util::LogFailure::no);
   if (!result && result.error().value() != ENOENT
       && result.error().value() != ESTALE) {
-    LOG("Failed to unlink {} ({})", dir_entry.path().string(), strerror(errno));
+    LOG("Failed to unlink {} ({})", dir_entry.path(), strerror(errno));
   } else {
     // The counters are intentionally subtracted even if there was no file to
     // delete since the final cache size calculation will be incorrect if they
@@ -390,7 +390,7 @@ clean_dir(
 
     if (namespace_) {
       try {
-        core::CacheEntry::Header header(file.path().string());
+        core::CacheEntry::Header header(file.path());
         if (header.namespace_ != *namespace_) {
           continue;
         }
@@ -824,7 +824,7 @@ LocalStorage::wipe_all(const ProgressReceiver& progress_receiver)
           l2_progress_receiver(0.5);
 
           for (size_t i = 0; i < files.size(); ++i) {
-            util::remove_nfs_safe(files[i].path().string());
+            util::remove_nfs_safe(files[i].path());
             l2_progress_receiver(0.5 + 0.5 * ratio(i, files.size()));
           }
 
@@ -856,7 +856,7 @@ LocalStorage::get_compression_statistics(
           for (size_t i = 0; i < files.size(); ++i) {
             const auto& cache_file = files[i];
             try {
-              core::CacheEntry::Header header(cache_file.path().string());
+              core::CacheEntry::Header header(cache_file.path());
               cs.actual_size += cache_file.size_on_disk();
               cs.content_size += util::likely_size_on_disk(header.entry_size);
             } catch (core::Error&) {