Re: [ccache] ccacje direct mode without fall back to running the preprocessor

2014-09-08 Thread vkr
Hi Andrew
It seems to me that I can switch off preprocessing in a read-only
ccache mode, after a direct lookup fail.
How do you see the following patch?

If the env variable TRS_CCACHE_NO_PREPROCESSOR_ON_DIRECT_LOOKUP_MISS is set
then, I do not run preprocessing, but just fall back to running real-compiler.

I see a lot of time saving, and I can't think of any side-effect.

Your comments on this are very much appreciated. Thank you!.

--- ccache-3.1.9/ccache.c   2013-01-06 22:27:59.0 +0530
+++ ccache-3.1.9_patched/ccache.c   2014-09-08 15:55:49.0 +0530
@@ -2029,6 +2029,14 @@
}
  }

+
+ if (getenv(CCACHE_READONLY)) {
+   if (getenv(TRS_CCACHE_NO_PREPROCESSOR_ON_DIRECT_LOOKUP_MISS)) {
+   cc_log(TRS; Lets no run preprocessor in read-only mode, as it
goes in vain. Running real-compiler.);
+   failed();
+  }
+ }
+
  /*
   * Find the hash using the preprocessed output. Also updates
   * included_files.


On Fri, Sep 5, 2014 at 2:51 PM, vkr venkatakrishnarao...@gmail.com wrote:
 Hello
 First of all, sorry about the typo in the subject/title of my post.

 I run ccache in read-only mode itself. But, I still see that after the
 direct cache lookup fail, it falls back to running the preprocessor.
 That's exactly what I wanted to avoid.

 It seems to me that having an option to avoid preprocessing after a
 direct-cache-lookup fail is still a very valid option if the user
 knows that preprocesor will result in a failure/he purposefully wants
 to avoid it.
 I hope my justification is valid.

  88 [2014-09-05T14:45:17.445383 25208] Hostname: host.myhost.net
  89 [2014-09-05T14:45:17.445393 25208] Working directory: (null)
  90 [2014-09-05T14:45:17.445399 25208] Base directory:
 /var/fpwork/workspace_venkrao/release
  91 [2014-09-05T14:45:17.445734 25208] Source file: ../my_source.cpp
  92 [2014-09-05T14:45:17.445745 25208] Dependency file: ../my_source.d
  93 [2014-09-05T14:45:17.445752 25208] Object file: ../my_source.cpp.o
  94 [2014-09-05T14:45:17.447011 25208] Trying direct lookup
  95 [2014-09-05T14:45:17.447167 25208] Looking for object file hash in
 /disk1/ccache_cache_store/transport_release/175750/0/5/eb2b36e5e9d0bb723de833a4529cab-11859.manifest
  96 [2014-09-05T14:45:17.479757 25204] Looking for object file hash in
 /disk1/ccache_cache_store/transport_release/175750/6/6/e186baaf3c2e9e06619878dac77fe1-114310.manifest
  97 [2014-09-05T14:45:17.863524 25194] Did not find object file hash in 
 manifest
  98 [2014-09-05T14:45:17.864854 25194] Running preprocessor



 Regards,
 venkrao

 On Fri, Sep 5, 2014 at 1:51 AM, Andrew Stubbs a...@codesourcery.com wrote:
 On 04/09/14 08:32, vkr wrote: I would like to know if I can avoid
 If there is no match, ccache falls back to running the preprocessor.

 The answer is no, because it is necessary to run the preprocessor in order
 to fill the cache and record the file list that direct mode lookups use.

 It might be possible if you wanted to run the cache in read-only mode, but
 that might not be very useful, and I don't believe there's an option for
 that now.

 Andrew
___
ccache mailing list
ccache@lists.samba.org
https://lists.samba.org/mailman/listinfo/ccache


Re: [ccache] ccacje direct mode without fall back to running the preprocessor

2014-09-08 Thread Andrew Stubbs

On 08/09/14 11:37, vkr wrote:

If the env variable TRS_CCACHE_NO_PREPROCESSOR_ON_DIRECT_LOOKUP_MISS is set
then, I do not run preprocessing, but just fall back to running real-compiler.

I see a lot of time saving, and I can't think of any side-effect.


It's not the right implementation for the master branch, but might be ok 
in the release branch?


That's up to Joel.

Seems like a worthwhile feature, in read-only mode.

Andrew

___
ccache mailing list
ccache@lists.samba.org
https://lists.samba.org/mailman/listinfo/ccache