Quote:
Originally Posted by
Ribosome
Hi,
We've been using a perl script to extract datas from several logs to generate a report. I've been asked to rewrite the code in C++. I want to know if it is wise to have a code in C++ and will it be more faster than Perl?
You know what -There was a Perl script I had got from CPAN to generate SHA1 checksum of files in a directory, I modified to suite my needs, for the project I was working at, and the script was taking around 21-22 minutes just to generate SHA1 sum of the required files across the system disk (which was most of the files of the disk except a list of certain category of files filtered by it's extension) and later would verify at boot time.
I displayed the same to my boss, the moment I conveyed him that I started out modification of a public domain script from CPAN; he didn't allow me to use the same for a commercial project, although he wanted originally a script kind of thing only; I was made to write a C version of the same again -that too giving me just 48 hrs only, as I had already eaten up much of the scheduled time with my R & D and modifications job with the Perl script (even learning Perl too
).
I somehow managed myself to come out of the soup by really creating a C program from scratch.
The
pleasant part was that the job which took
22 minutes (approx) was taking only
around 3 seconds.
This took away all the pain I faced in the last 48 hrs while I wrote the C version of the program.
No one expected this much performance improvement (even myself & my boss) but that was it!!!
I really do expect your C++ program, if you really create, will get you to see the same kind of performance improvements.
The porting issues and all with your C++ program would be immaterial if your project has got a build system which create images for different supported platforms.
Please do let us know here, if you chose to create the C/C++ version of the same? And how was the performance improvement?
---------- Post updated at 03:20 PM ---------- Previous update was at 03:16 PM ----------
I'd be eager to know your experience too!!!
Happy coding!! :-)
---------- Post updated at 03:31 PM ---------- Previous update was at 03:20 PM ----------
Quote:
Originally Posted by
Corona688
...
If this Perl program uses lots and lots of CPU power while running, it may benefit from optimization. If it doesn't, it's spending most of its time waiting for data to arrive or be sent... A C++ version wouldn't be able to wait much faster
That's absolutely true!!
However a CPU intensive program implemented into C/C++ (even with exactly the same algorithm -however bad that might be) runs not just 2x or 3x time faster but much much more than that of a Perl script (of course the bottleneck is on the percentage of I/O wait, in the overall run time, that you have mentioned).