Hi all,
After updating my development PC from Ubuntu 12.10 to Ubuntu 14.10 LTS,
I have observed a very severe degradation in the performance of
"storescp" from the DCMTK package.
Sending 100 DICOM files to storescp took 25 seconds instead of less than
2 seconds in my previous version of Ubuntu:
>>>>>
# time storescu localhost 4242 ./MR*
real 0m25.627s
<<<<<
This led me to the discovery of a thread on the DCMTK forum that
reported the same performance problem [1]. In this thread, it is
suggested to disable the "setTCPBufferLength()" function. The
corresponding patch is attached to this mail.
When applying this patch, the reported transfer times are as follows:
>>>>>
# time storescu localhost 4242 ./MR*
real 0m1.118s
<<<<<
I think that this patch might be extremely useful to be integrated in
the official Debian DCMTK package.
Regards,
Sébastien-
[1] http://forum.dcmtk.org/viewtopic.php?f=1&t=4009
diff -u -r dcmtk-3.6.0/dcmnet/libsrc/dul.cc dcmtk-3.6.0.patched/dcmnet/libsrc/dul.cc
--- dcmtk-3.6.0/dcmnet/libsrc/dul.cc 2010-12-01 09:26:36.000000000 +0100
+++ dcmtk-3.6.0.patched/dcmnet/libsrc/dul.cc 2015-05-15 17:03:50.762451757 +0200
@@ -1840,7 +1840,7 @@
}
#endif
#endif
- setTCPBufferLength(sock);
+ //setTCPBufferLength(sock);
#ifndef DONT_DISABLE_NAGLE_ALGORITHM
/*
diff -u -r dcmtk-3.6.0/dcmnet/libsrc/dulfsm.cc dcmtk-3.6.0.patched/dcmnet/libsrc/dulfsm.cc
--- dcmtk-3.6.0/dcmnet/libsrc/dulfsm.cc 2010-12-01 09:26:36.000000000 +0100
+++ dcmtk-3.6.0.patched/dcmnet/libsrc/dulfsm.cc 2015-05-15 17:03:55.570451952 +0200
@@ -2417,7 +2417,7 @@
return makeDcmnetCondition(DULC_TCPINITERROR, OF_error, msg.c_str());
}
#endif
- setTCPBufferLength(s);
+ //setTCPBufferLength(s);
#ifndef DONT_DISABLE_NAGLE_ALGORITHM
/*