Switching over to C++


 
Thread Tools Search this Thread
Top Forums Programming Switching over to C++
# 1  
Old 04-18-2013
Switching over to C++

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?
# 2  
Old 04-18-2013
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?
Most perl scripts are portable to a wide selection of operating systems. A C++ program would have to be rebuilt to move it to a different machine architecture and might need to be rebuilt to move it to a different operating system even if they both run on the same hardware.

If you are a competent C++ programmer, you should be able to write a C++ program that will run faster than an interpretive language like perl to perform the same job. (However, that doesn't mean that writing the C++ code to get an improved level of performance over a perl script will necessarily be easy.)
# 3  
Old 04-18-2013
It may be a good idea to find out what the bottleneck in the perl program is, before you get carried away. Reimplementing a flawed algorithm in a faster language may give you little to no benefit.
# 4  
Old 04-18-2013
Take a decision only after profiling your program, using either one of the standard distribution profilers or one from CPAN.
# 5  
Old 04-18-2013
I think it's a fine idea to write the program to C++. Yes, a C++ program doing the same logic as a perl program will be faster. But I agree there may be a bottleneck in the perl program that could be fixed.

Normally, I do a short task using bash. But once it gets to a certain level of complexity, I move to C. It runs faster, but that's not the main point. It's so much easier to maintain a complex program in C than a complex program in a scripting language. The same logic applies to perl, which is kind of infamous for somehow leading to undecipherable code. On the other hand, there are large applications written in perl.
Quote:
A C++ program would have to be rebuilt to move it to a
different machine architecture and might need to be rebuilt to move
it to a different operating system even if they both run on the same hardware.
For the most part, I disagree with this assertion. If there is a graphic front end, it is often tricky writing multi-platform code. But for processing a log file, the program should compile on any platform, assuming the programmer is competent.
# 6  
Old 04-18-2013
Why were you asked to rewrite in C++? Was any justification given? Or is it just a blind assumption that it will be better?

I am going to assume that the perl script is a complicated beast.

I would seriously advise against a rewrite, except as a last resort. Complex code that works well is usually the result of a lot of testing and debugging. I would not cast it aside lightly.

I concur with Corona688 and elixir_sinari. Profile your current script and see where it spends most of its time. Then, have a look at those subroutines and see if they can be optimized in perl. Even if that's insufficient, a complete rewrite is still not your only alternative. The critical perl sections can be re-implemented in C and loaded by the perl interpreter like any other module: perlxs.

One thing is certain: advice on whether to rewrite code from people who do not know what that code does isn't worth much. Perhaps not even the proverbial 2 cents.

Regards,
Alister
# 7  
Old 04-18-2013
That's a good point. If the perl is a complex beast, any kind of "fix" could be problematic. If you can't figure out the logic, it will be difficult to rewrite in some other language. It's hard to say more without knowing what the problem is or seeing the code. My main point is that there are differences between languages, and that certain languages are better suited for more complex, large-scale systems, other languages more suited for medium tasks, others for tiny tasks. There can come a point where a program is poorly supported by the existing programming language, too slow, lacking functionality, or too hard to maintain.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Case switching

Hello Folks I am writing this simple program but I am stuck at this point. Here is the snippet from my script where I have issues. 3) echo "Current Directory: $(pwd) Menu 3" echo -e "Enter a file name\n" read fname if then ... (5 Replies)
Discussion started by: Tuxidow
5 Replies

2. Solaris

The switching in the different AP's

HI, I am using the windows 2003 server R2 in there we are using the putty as to access the different AP's now from the primary AP i want to login to several different AP's using a script what the script will do is :- input a text file in which list of different ap's and the corresponding... (0 Replies)
Discussion started by: amiglani
0 Replies

3. Shell Programming and Scripting

Switching lines

Hi I'm quite new with linux. Very simple, I need to swap every 2 lines in a file. Example INPUT: a a a b b b x x x y y y s s s t t t OUTPUT: b b b a a a y y y x x x t t t (5 Replies)
Discussion started by: hernand
5 Replies

4. OS X (Apple)

vt switching

greetings, i hope this hasn't been covered previously. has anyone heard of a .kext or daemon that would allow linux or (open)solaris-like vt switching? googling didn't help much.. i know os x allows a '>console' login from loginwindow.app, but i'm mainly interested in this because there are... (0 Replies)
Discussion started by: bamdad
0 Replies

5. Shell Programming and Scripting

switching users

Hi I want to write a script which can switch between super users.But it asks for the password at the prompt.How can I manage in the script so that it didnt ask me for the password at the prompt. (1 Reply)
Discussion started by: monika
1 Replies

6. Linux

Switching from one DNS to another

Hi all, we have running some linux servers with sles9 and we have some problems with our dns servers. Sometimes they don't like to work. However, is there a parameter to enable faster switching between two ore more dns servers? Thx for your help in front Regards frank (5 Replies)
Discussion started by: ortsvorsteher
5 Replies

7. Shell Programming and Scripting

Switching between two users

Can any one tell me : How we can switch between two users without prompting for the password. (In the SHELL SCRIPT can we fetch the USERID and PASSWORD from a specified file, without using SUDO command)? (2 Replies)
Discussion started by: deepusunil
2 Replies

8. Shell Programming and Scripting

su (switching to other user)

Hi, what is the use of the double quotes and !! in the following code segment: su - user1 << ""!! > /dev/null 2>&1 echo "welcome user1" EOF !! also what is the difference between below: su - user1 << ""!! > /dev/null 2>&1 and su - $USER << ""!!!> /dev/null 2>&1. Note: $USER =... (2 Replies)
Discussion started by: bjagadeesh
2 Replies

9. Shell Programming and Scripting

su (switching to other user)

Hi, what is the use of the double quotes and !! in the following code segment: su - user1 << ""!! > /dev/null 2>&1 echo "welcome user1" EOF !! also what is the difference between below: su - user1 << ""!! > /dev/null 2>&1 and su - $USER << ""!!!> /dev/null 2>&1. Note: $USER =... (1 Reply)
Discussion started by: bjagadeesh
1 Replies

10. Solaris

Switching between users

Hi folks, could anyone please tell me how can i switch between two users without going thru the su(i.e. root)? is there any such command? thanks in advance, thell (1 Reply)
Discussion started by: thell
1 Replies
Login or Register to Ask a Question