diff options
author | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-09-07 13:29:54 +0200 |
---|---|---|
committer | Jörg Frings-Fürst <debian@jff-webhosting.net> | 2014-09-07 13:29:54 +0200 |
commit | a879b4e708b3e46c9697ba6581687eeb5b02a320 (patch) | |
tree | f85acc5cb1a7c0b03a050c879c20cab3deb9f40e /doc/Performance.html | |
parent | 556dffcdad42b938bc196819aa463247de709765 (diff) | |
parent | c07d0c2d2f6f7b0eb6e92cc6204bf05037957e82 (diff) |
state from 2014-09-07 13:30 MESZ
Diffstat (limited to 'doc/Performance.html')
-rw-r--r-- | doc/Performance.html | 242 |
1 files changed, 139 insertions, 103 deletions
diff --git a/doc/Performance.html b/doc/Performance.html index b69f5ae..340cec0 100644 --- a/doc/Performance.html +++ b/doc/Performance.html @@ -1,106 +1,142 @@ <!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> + <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> + You can examine individual variables using<br> + <br> + echo %VARIABLE_NAME%<br> + <br> + or see all of them using<br> + <br> + set<br> + <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> + You can examine individual variables using<br> + <br> + echo $VARIABLE_NAME<br> + <br> + or see all of them using<br> + <br> + set<br> + <br> + <br> + <br> + </body> </html> |