Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.


Excerpt
hiddentrue

The definition and sample files used by ecCodes engine to decode all kind of messages can be built into the library (embedded) providing a performance improvement by significantly reducing access to the filesystem

Step-by-step guide

The definition and sample files used by ecCodes engine to decode all kind of messages can be built into the library (embedded) providing a performance improvement by significantly reducing access to the filesystem.

This feature is called MEMFS (MEMory FileSystem) and can be enabled at configuration time (when you invoke cmake) by:

Code Block
% cmake /path/to/src -DENABLE_MEMFS=ON

This will take longer to compile and the resulting library will be larger but whenever a definition file (*.def or *.table) or a sample file (*.tmpl) is accessed, its contents will be fetched from memory and no access to the file system will be made.

If you invoke the codes_info tool with this configuration, the paths reported will contain the prefix "/MEMFS/".
For example:

Code Block
% codes_info
...
Default definition files path is used: /MEMFS/definitions
...
Default SAMPLES path is used: /MEMFS/samples


Note

Please note that once ecCodes is built in this mode, any subsequent changes to the installed definition/sample files will NOT be picked up


Content by Label
showLabelsfalse
max5
spaces~usa
showSpacefalse
sortmodified
reversetrue
typepage
cqllabel in ("kb-how-to-article","eccbufr-faqs","bufr","grib","definitions","memory","performance") and type = "page" and space = "UDOC"
labelskb-how-to-article