aGerman wrote:On the other hand the main scopes of JREPL and CONVERTCP are quite different. This makes that JREPL is able (and designed) to do customized replacements while CONVERTCP can't do that. But this also makes that CONVERTCP is so much faster for big files (307s JREPL vs. 9s CONVERTCP for 360MB text Windows-1252 to UTF-8 in my tests) because it efficiently converts and writes in parallel threads. Converting big files was one of Saso's original requirements.
Thanks for those comparative timings Steffen. The CONVERTCP timings are impressive
In most circumstances, CONVERTCP is clearly the better option.
The only reasons I can think for ever using JREPL instead are:
1) If your work environment disallows 3rd party exe files
2) If you already have JREPL available, and don't want to bother getting CONVERTCP
3) If you need custom transformations.
I expected JREPL to be slower, but I was a bit shocked to see that JREPL was 30 times slower than CONVERTCP
I did some timings to see what effect ADO has on reading and writing vs. using the native FiieSystemObject text stream.
Code: Select all
JREPL timings for reading and writing
a 155MB Windows-1252 endoded file
Read Write
Method Method Seconds
-----------------------
Native Native 87
Native ADO 71
ADO Native 280
ADO ADO 245
So there is a severe performance penalty when using ADO to read (factor of 3+). Yet writing with ADO was marginally (but consistently) 10% faster
Dave