git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: gitweb: Simple file based output caching TODO

From
Jakub Narebski <jnareb@gmail.com>
Date
Feb 28, 2010, 11:51 UTC
Message-ID
<201002281251.26520.jnareb@gmail.com>
In-Reply-To
<201002280354.51366.jnareb@gmail.com>
Show 42 quoted lines
> Here is the list of things that needs to be addressed in the future 
> next (v4) version of this series, hopefully finally not an RFC.
> 
> * The caching engine (GitwebCache::SimpleFileCache) starts with default
>   expire time of "never" (-1), while later it uses gitweb defaults when
>   adaptive caching lifetime is added (20 / 1200 seconds).  This (slight)
>   inconsistency should be fixed, either by using default of "never", or
>   by using gitweb defaults for caching engine defaults in both patches:
>     gitweb/cache.pm - Stat-based cache expiration
>     gitweb/cache.pm - Adaptive cache expiration time
> 
>   Note that caching engine defaults are *independent* of gitweb's 
>   defaults in %cache_options.
> 
> * Describe (better than it is now) in comments or in commit message
>   why Temp::File is used for 'atomic write' _without_ locking (even
>   when there might be more than one process (re)generating the same
>   cache entry simultaneously).
> 
> * [improvement].  When using locking after
>     gitweb/cache.pm - Use locking to avoid 'cache miss stampede' problem
>   it is ensured that only one process would (re)generate cache entry.
>   Therefore Temp::File is not needed for temporary file; the temporary
>   file can have constant name.  This should improve performance a bit.
> 
>   But this might be unnecessary complication.
> 
> * Show information about when page was generated in the footer always
>   when caching is enabled; currently it is shown only if caching *and*
>   'timed' feature is enabled 
>     gitweb: Use Cache::Cache compatibile (get, set) output caching
> 
> * Actually check that using alternate caching engine works.  It can be
>   done (what is described in gitweb/README) by setting $cache to either
>   cache engine class (package) name, or to cache object (instantiated
>   cache).
> 
> * [cleanup] Remove commented out alternate solutions (commented out
>   code).
> 
> * Benchmark overhead of caching, and performance of caching, perhaps for
>   different caching engines including original patch by J.H.
* Turn off 'blame_incremental' view (and links to it) when caching is
  enabled.  It doesn't make sense without support for "tee"-ing output
  in caching engine (or to be more exact in the output capturing
  engine), i.e. without printing output while capturing it.  
  Also currently it doesn't work anyway, for some reason.
* Check why git_generating_data_html, i.e. the "Generating..." 
  subroutine doesn't add '.' as activity indicator and fix it.
  Test if the trick employed by it works in other browsers.
-- 
Jakub Narebski
Poland
Previous: Jakub NarebskiNext: Petr Baudis
Message 15 of 16 in “[RFC PATCHv3 00/10] gitweb: Simple file based output caching”
  1. Jakub NarebskiFeb 16, 2010
  2. 01/10 gitweb: href(..., -path_info => 0|1)Jakub Narebski, Feb 16, 2010
  3. 02/10 gitweb/cache.pm - Very simple file based cacheJakub Narebski, Feb 16, 2010
  4. 03/10 gitweb/cache.pm - Stat-based cache expirationJakub Narebski, Feb 16, 2010
  5. 04/10 gitweb: Use Cache::Cache compatibile (get, set) output cachingJakub Narebski, Feb 16, 2010
  6. 05/10 gitweb/cache.pm - Adaptive cache expiration timeJakub Narebski, Feb 16, 2010
  7. 06/10 gitweb: Use CHI compatibile (compute method) cachingJakub Narebski, Feb 16, 2010
  8. 07/10 gitweb/cache.pm - Use locking to avoid 'cache miss stampede' problemJakub Narebski, Feb 16, 2010
  9. 08/10 gitweb/cache.pm - Serve stale data when waiting for filling cacheJakub Narebski, Feb 16, 2010
  10. 09/10 gitweb/cache.pm - Regenerate (refresh) cache in backgroundJakub Narebski, Feb 16, 2010
  11. 10/10 gitweb: Show appropriate "Generating..." page when regenerating cacheJakub Narebski, Feb 16, 2010
  12. J.H.Feb 18, 2010
  13. Jakub NarebskiFeb 19, 2010
  14. gitweb: Simple file based output caching TODO (was: Re: [RFC PATCHv3 00/10] gitweb: Simple file based output caching)Jakub Narebski, Feb 28, 2010
  15. Jakub NarebskiFeb 28, 2010
  16. Petr BaudisFeb 28, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.