clcache | A compiler cache for MSVC , much like ccache for gcc

 by   Nuitka Python Version: Current License: Non-SPDX

kandi X-RAY | clcache Summary

kandi X-RAY | clcache Summary

clcache is a Python library. clcache has no bugs, it has no vulnerabilities, it has build file available and it has low support. However clcache has a Non-SPDX License. You can download it from GitHub.

clcache.py is a little Python script which attempts to avoid unnecessary recompilation by reusing previously cached object files if possible. It is meant to be called instead of the original 'cl.exe' executable. The script analyses the command line to decide whether source code is to be compiled. If so, a cache will be queried for a previously stored object file. If the script is called in an unsupported way (e.g. if the compiler is called for linking), the script will simply relay the invocation to the real 'cl.exe' program. CLCACHE_DIR:: If set, points to the directory within which all the cached object files should be stored. This defaults to %HOME%\clcache CLCACHE_CL:: Can be set to the actual 'cl.exe' executable to use. If this variable is not set, the 'clcache.py' script will scan the directories listed in the +PATH+ environment variable for 'cl.exe'. In case this is just a file name (as opposed to an absolute path), 'clcache.py' will scan the directories mentioned by the %PATH% environment variable to compute the absolute path. CLCACHE_LOG:: If this variable is set, a bit of diagnostic information is printed which can help with debugging cache problems. CLCACHE_DISABLE:: Setting this variable will disable 'clcache.py' completely. The script will relay all calls to the real compiler. CLCACHE_HARDLINK:: If this variable is set, cached object files won't be copied to their final location. Instead, hard links pointing to the cached object files will be created. This is more efficient (faster, and uses less disk space) but doesn't work if the cache directory is on a different drive than the build directory. CLCACHE_COMPRESS:: If true, clcache will compress object files it puts in the cache. If the cache was filled without compression it can't be used with compression and vice versa (i.e. you have to clear the cache when changing this setting). The default is false. CLCACHE_COMPRESSLEVEL:: This setting determines the level at which clcache will compress object files. It only has effect if compression is enabled. The value defaults to 6, and must be no lower than 1 (fastest, worst compression) and no higher than 9 (slowest, best compression). CLCACHE_NODIRECT:: Disable direct mode. If this variable is set, clcache will always run preprocessor on source file and will hash preprocessor output to get cache key. Use this if you experience problems with direct mode or if you need built-in macros like _TIME_ to work correctly. CLCACHE_BASEDIR:: Has effect only when direct mode is on. Set this to path to root directory of your project. This allows clcache to cache relative paths, so if you move your project to different directory, clcache will produce cache hits as before. CLCACHE_OBJECT_CACHE_TIMEOUT_MS:: Overrides the default ObjectCacheLock timeout (Default is 10 * 1000 ms). The ObjectCacheLock is used to give exclusive access to the cache, which is used by the clcache script. You may override this variable if you are getting ObjectCacheLockExceptions with return code 258 (which is the WAIT_TIMEOUT return code). CLCACHE_PROFILE:: If this variable is set, clcache will generate profiling information about how the runtime is spent in the clcache code. For each invocation, clcache will generate a file with a name similar to 'clcache- .prof'. You can aggregate these files and generate a report by running the 'showprofilereport.py' script. CLCACHE_SERVER:: Setting this environment variable will make clcache use (and expect) a running clcachesrv.py script which takes care of caching file hashes. This greatly improves performance of cache hits, but only has an effect in direct mode (i.e. when CLCACHE_NODIRECT is not set). CLCACHE_MEMCACHED:: This variable can be used to make clcache use a memcached[backend for saving and restoring cached data. The variable is assumed to hold the host and port information of the memcached server, e.g. 127.0.0.1:11211.
Support
    Quality
      Security
        License
          Reuse

            kandi-support Support

              clcache has a low active ecosystem.
              It has 5 star(s) with 0 fork(s). There are 1 watchers for this library.
              OutlinedDot
              It had no major release in the last 6 months.
              There are 2 open issues and 0 have been closed. There are 1 open pull requests and 0 closed requests.
              It has a neutral sentiment in the developer community.
              The latest version of clcache is current.

            kandi-Quality Quality

              clcache has 0 bugs and 587 code smells.

            kandi-Security Security

              clcache has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
              clcache code analysis shows 0 unresolved vulnerabilities.
              There are 6 security hotspots that need review.

            kandi-License License

              clcache has a Non-SPDX License.
              Non-SPDX licenses can be open source with a non SPDX compliant license, or non open source licenses, and you need to review them closely before use.

            kandi-Reuse Reuse

              clcache releases are not available. You will need to build from source code and install.
              Build file is available. You can build the component from source.
              Installation instructions are not available. Examples and code snippets are available.
              It has 3836 lines of code, 395 functions and 15 files.
              It has medium code complexity. Code complexity directly impacts maintainability of the code.

            Top functions reviewed by kandi - BETA

            kandi has reviewed clcache and discovered the below as its top functions. This is intended to give you an instant insight into clcache implemented functionality, and help decide if they suit your requirements.
            • Process a single entry .
            • Analyze the command line .
            • Schedule a compile request .
            • Schedule one or more sources .
            • Prints statistics about the cache .
            • Creates a hard link .
            • Invokes the real compiler .
            • Expand command line .
            • Normalize the command line .
            • Patch distutils
            Get all kandi verified functions for this library.

            clcache Key Features

            No Key Features are available at this moment for clcache.

            clcache Examples and Code Snippets

            No Code Snippets are available at this moment for clcache.

            Community Discussions

            No Community Discussions are available at this moment for clcache.Refer to stack overflow page for discussions.

            Community Discussions, Code Snippets contain sources that include Stack Exchange Network

            Vulnerabilities

            No vulnerabilities reported

            Install clcache

            You can download it from GitHub.
            You can use clcache like any standard Python library. You will need to make sure that you have a development environment consisting of a Python distribution including header files, a compiler, pip, and git installed. Make sure that your pip, setuptools, and wheel are up to date. When using pip it is generally recommended to install packages in a virtual environment to avoid changes to the system.

            Support

            For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
            Find more information at:

            Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items

            Find more libraries
            CLONE
          • HTTPS

            https://github.com/Nuitka/clcache.git

          • CLI

            gh repo clone Nuitka/clcache

          • sshUrl

            git@github.com:Nuitka/clcache.git

          • Stay Updated

            Subscribe to our newsletter for trending solutions and developer bootcamps

            Agree to Sign up and Terms & Conditions

            Share this Page

            share link