diff --git a/RTCP/Cobalt/OutputProc/src/MSWriterFile.h b/RTCP/Cobalt/OutputProc/src/MSWriterFile.h index dd82e4125a0a551f1f065715b0df9671af345cf1..4a1476bc7a4cdde6e1b4bd6d64b82b114a812de6 100644 --- a/RTCP/Cobalt/OutputProc/src/MSWriterFile.h +++ b/RTCP/Cobalt/OutputProc/src/MSWriterFile.h @@ -21,11 +21,32 @@ #ifndef LOFAR_STORAGE_MSWRITERFILE_H #define LOFAR_STORAGE_MSWRITERFILE_H +// O_DIRECT gave us bad performance on CEP4. Compare: +/* + +root@cpu01 ~]# dd if=/dev/zero of=/data/test/throughput.dd bs=104857600 count=10 oflag=direct +10+0 records in +10+0 records out +1048576000 bytes (1.0 GB) copied, 60.8431 s, 17.2 MB/s + +[root@cpu01 ~]# dd if=/dev/zero of=/data/test/throughput.dd bs=104857600 count=10 +10+0 records in +10+0 records out +1048576000 bytes (1.0 GB) copied, 0.879391 s, 1.2 GB/s + +*/ +//#define USE_O_DIRECT + +#ifdef USE_O_DIRECT +#include "FastFileStream.h" +#else +#include <Stream/FileStream.h> +#endif + #include <string> #include <CoInterface/StreamableData.h> #include "MSWriter.h" -#include "FastFileStream.h" namespace LOFAR { @@ -49,7 +70,11 @@ namespace LOFAR virtual size_t getDataSize(); protected: +#ifdef USE_O_DIRECT FastFileStream itsFile; +#else + FileStream itsFile; +#endif };