On Fri, 8 Jul 2011, Adrian Abramovich wrote:

We are using asterisk 1.4 and we use a Perl script to record some specific calls. As far, everything is working well. I was thinking about create a module in order to improve script's performance.

(I'm assuming you're executing your Perl script as an AGI.)

I'd vote for re-writing your Perl script in C.

Once you get past the small* hit for process creation and AGI environment setup, the execution time should be very similar between C code executing as a module and C code executing as an AGI.

The advantages of an AGI over a module are:

) You already know the AGI environment.

) Writing an AGI is probably an order of magnitude easier than writing a module. The 'environment' is much simpler, stable between Asterisk versions and better defined.

) Debugging an AGI is probably a couple of orders of magnitude easier than debugging a module because it is usually a single threaded process and you can (within obvious limitations) 'desk test' your code completely external to Asterisk.

) You'll get more support on the mailing lists. A lot more people know how to write and debug an AGI than know how to write and debug a module.

) When (not if) you hit a bug, it only takes out your AGI, not the entire Asterisk process. The damage is limited to a single call, not all calls in flight.

*) You can execute hundreds of AGIs written in C in the time it takes to load the Perl interpreter and parse your script.

--
Thanks in advance,
-------------------------------------------------------------------------
Steve Edwards       sedwa...@sedwards.com      Voice: +1-760-468-3867 PST
Newline                                              Fax: +1-760-731-3000

--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
              http://www.asterisk.org/hello

asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
  http://lists.digium.com/mailman/listinfo/asterisk-users

Reply via email to