Releases: jvo203/fits_web_ql
a bug fix
Works around a bug in either Rust or Rust bzip2 bindings whereby an unused but initialised bzip2 streaming decompressor could not be dropped in a clean manner. As a result a return from a Rust function would hang indefinitely. A workaround uses Option<Rc<RefCell<bzip2::write::BzDecoder<Vec<u8>>>>>
etc.
The problem affected the JVO server version of FITSWebQL.
Support for bzip2 compression
This version adds support for reading bzip2-compressed FITS files in addition to the already-supported gzip method. Hence *.fits.bz2 can now be opened too.
Apart from physical FITS files bzip2 is also supported in streaming data downloaded from external URLs (a functionality available through the JVO Portal).
maintenance
- adjusted the websocket progress notifications interval
- slightly re-positioned the compass (North-South arrow)
maintenance
- verified compatibility with x265 version 3.2
- improved memory range checks in the unsafe Rust code
maintenance
- add full support for bitpix == -64
Intel IPP integration
This version enables the use of Intel IPP via an experimental feature "ipp"
i.e. cargo run --features 'zfp ipp' --release
The Intel Integrated Performance Primitives (IPP) library can be obtained free of charge from https://software.intel.com/en-us/intel-ipp
IMPORTANT: please make sure that the IPPROOT environment variable is set following the IPP installation instructions (i.e. echo $IPPROOT /opt/intel/compilers_and_libraries_2019.4.243/linux/ipp).
maintenance
- reverted SyncArbiter to the previous default System Arbiter as it is not possible to broadcast messages to multiple SyncContext actors in a SyncArbiter pool in the current Actix framework (see actix/actix#271)
- moved PROGRESS_INTERVAL checks from the SessionServer into individual WebSocket connections
upgrade to Actix 1.0
- based on the image histogram, the local Personal Edition follows the ALMA Server Version in using machine learning (a logistic regression classifier) to decide on the initial best-viewing image tone mapping function; users of prior fits_web_ql Personal Editions should clear the browser cache as well as remove all *.img files from the fits_web_ql/IMAGECACHE folder
- the underlying networking library has been upgraded from Actix 0.7 to 1.0 (there have been quite a few API changes)
performance tuning
Multi-threading has been reworked to improve responsiveness of the server under considerable load. Private pool threads are used in many places so as to take the pressure off a global pool thread. On machines with Hyper-Threading enabled the number of cores used by fits_web_ql will be halved (the physical, not logical, count will be used).
Hyper-Threading has been implicated in reducing the overall responsiveness of servers under heavy load. A personal recommendation would be to disable Hyper-Threading completely in BIOS wherever possible.