diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-09-01 13:56:46 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-09-01 13:56:46 +0200 |
commit | 22f703cab05b7cd368f4de9e03991b7664dc5022 (patch) | |
tree | 6f4d50beaa42328e24b1c6b56b6ec059e4ef21a5 /doc/Performance.html |
Initial import of argyll version 1.5.1-8debian/1.5.1-8
Diffstat (limited to 'doc/Performance.html')
-rw-r--r-- | doc/Performance.html | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/doc/Performance.html b/doc/Performance.html new file mode 100644 index 0000000..b69f5ae --- /dev/null +++ b/doc/Performance.html @@ -0,0 +1,106 @@ +<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en"> +<html> +<head> + <meta http-equiv="Content-Type" + content="text/html; charset=iso-8859-1"> + <meta http-equiv="content-type" + content="text/html; charset=ISO-8859-1"> + <meta name="GENERATOR" + content="Mozilla/4.73 [en] (WinNT; I) [Netscape]"> + <title>Argyll Performance Tuning</title> +</head> +<body> +<h2> +<u>Performance Tuning</u></h2> +<br> +Some operations in Argyll can be particularly slow, so it is worth +examining ways of improving performance, or trading memory consumption +for performance.<br> +<h3>Creating Device Links and Profiles<br> +</h3> +In creating device links or the B2A tables of profiles, the execution +time is often dominated by the inversion of forward +color lookup values. An in-memory cache is employed to speed up this +operation, by keeping computed values in case they can be used more +than once. The amount of memory used for caching these values is +pre-set within the inversion code, and by default is set to use half of +the available RAM on the system, with a minimum of 50 Mbytes.<br> +<br> +The reverse cache size can be changed by setting an environment +variable +<span style="font-weight: bold;">ARGYLL_REV_CACHE_MULT</span> to a +number greater or less than than 1.0 This will multiply the size of the +cache by that number (i.e. 1.5 would increase the cache size by 50%, +0.5 would halve it).<br> +<br> +If you find that <span style="font-weight: bold;">colprof</span> +or <span style="font-weight: bold;">collink</span> +are working very slowly, but that your CPU's are nearly idle, then this +is a sign of disk swapping, and that too much memory is being +requested. This can be because other applications are also using +memory, or Argyll's default setting tries to use more memory than is +actually available. You can try shutting down other applications when +this happens, or you can <span style="font-weight: bold;">lower</span> +the amount of memory Argyll uses by setting <span + style="font-weight: bold;">ARGYLL_REV_CACHE_MULT</span> to a value +less than 1.0 (ie. try 0.5). <br> +<br> +If you have a lot of memory available, you can try increasing the +cache size to use more of the available RAM (particularly if you get a +"Warning - Reverse Cell Cache exhausted, +processing in chunks" message during processing), but if you set it to +a value too near 2.0 you risk disk swapping, which can slow progress to +a crawl.<br> +<br> +If you have a lot of memory available, then a second adjustment that +can make a great difference to the time taken +in creating B2A tables is the resolution of the inverse lookup +acceleration grid. The finer the grid, the less searching is needed to +locate the input colorspace values that +correspond to a target output color value, but the greater the memory +used in this +structure, and the greater the setup time needed to initialize the +acceleration grid. The <span style="font-weight: bold;">ARGYLL_REV_ACC_GRID_RES_MULT</span> +environment variable can alter the default resolution by a scale +factor. A value of 0.5 for instance, would halve the resolution +(typically meaning 1/8 th. the total number of grid entries and +memory), while a value of 2.0 would double it, typically resulting in 8 +times the memory usage. Increasing the resolution too much will reduce +the available memory for the reverse cache, and greatly increase setup +time.<br> +<br> +<h3>Setting an environment variable:</h3> +<br> +To set an environment variable an MSWindows DOS shell, either use set, +e.g.;<br> +<br> + set ARGYLL_REV_CACHE_MULT=1.5<br> +<br> +which will set the value for that session, or set it in<br> +<br> +Control Panel->System->Advanced->Environment Variables..<br> +<br> +in either user or system variables.<br> +<br> +For OS X or Linux, the exact procedure will depend on the shell you are +running, but<br> +is usually something like:<br> +<br> + export ARGYLL_REV_CACHE_MULT=1.5<br> +or<br> + set ARGYLL_REV_CACHE_MULT=1.5<br> +or<br> + ARGYLL_REV_CACHE_MULT=1.5<br> +<br> +and may need separately exporting, something like:<br> +<br> + export ARGYLL_REV_CACHE_MULT<br> +<br> +Generally it should be configured in the shell start-up script, +if you +want the setting to be used<br> +for every session.<br> +<br> +<br> +</body> +</html> |