[liblouis-liblouisxml] Re: Performance Question

  • From: Ken Perry <kperry@xxxxxxx>
  • To: "liblouis-liblouisxml@xxxxxxxxxxxxx" <liblouis-liblouisxml@xxxxxxxxxxxxx>
  • Date: Sat, 26 Oct 2013 19:58:12 +0000

I would also dispute the part about python not being easy to embe compile on 
other plaforms and hard to embed. You really should take a look at the boost 
libraries if you think that is the case.

Ken

-----Original Message-----
From: liblouis-liblouisxml-bounce@xxxxxxxxxxxxx 
[mailto:liblouis-liblouisxml-bounce@xxxxxxxxxxxxx] On Behalf Of Michael Whapples
Sent: Saturday, October 26, 2013 3:19 PM
To: liblouis-liblouisxml@xxxxxxxxxxxxx
Subject: [liblouis-liblouisxml] Re: Performance Question

The only thing I would dispute is that you say the C API of Python is not as 
simple as it could be. This is where Cython steps in, making it very easy to 
create C extensions for Python. Also if Cython is not to your taste then I 
believe there are other tools, eg. boost has a library for writing Python 
extensions, swig, ctypes, etc.

Michael Whapples
On 26/10/2013 19:57, Aaron Cannon wrote:
> I am also very much in favor of using Lua, barring any better 
> suggestions.  Here are the pros and cons of Lua, Python, and
> JavaScript:
>
> JavaScript:
> V8 is a fast moving target, is not small, and has an extremely complex 
> C/C++ api, which is still very much in flux.  JavaScripts Unicode 
> support is also a bit sketchy.
>
> Python, although it is my favorite language by far, is likely not 
> suitable for what we need.  It is quite large, not simple to compile 
> on embedded hardware, and the C API is not as simple as it could be.
> On the other hand, it's a great language, has a lot of great batteries 
> included, including excellent Unicode support, and a lot of people can 
> program in it.
>
> Finally, Lua, which I believe to be the best option in this situation, 
> is very light-weight, (less than 100K for the Lua core (at least 10-40 
> times smaller than Python, depending on how you count)), is designed 
> to be highly portable and has been shown to compile on several 
> different embedded platforms, and offers a simple, flexible and easily 
> learned language.  Independent enchmarking tests generally have good 
> things to say about its performance.
>
> I could see us easily using Lua for prototyping various solutions, and 
> then either leaving them in Lua, or once they were considered 
> reasonably stable, converting them to C functions exposed in Lua, for 
> greater speed.  Thanks to the simplicity of the C API, this is not 
> nearly as difficult as it could be.
>
> The major drawback is that Lua doesn't support Unicode with some of 
> its string functions.  Lua strings can store UTF-8 data with no 
> problem, it's just that some of the library string methods don't 
> support UTF-8.  However, I think that this can be overcome by simply 
> building a wrapper for a good Unicode library, such as UIC.
>
> Lua has been used as the scripting language in countless games, such 
> as World of Warcraft, in the NGnX web server, and the Redis database, 
> just to name a few.
>
> Just my $0.02.
>
> Thanks.
>
> Aaron
> For a description of the software, to download it and links to project 
> pages go to http://www.abilitiessoft.com

For a description of the software, to download it and links to project pages go 
to http://www.abilitiessoft.com
For a description of the software, to download it and links to
project pages go to http://www.abilitiessoft.com

Other related posts: