1. Bind vs Native

I'm struggling to find the advantages of binding an EU app vs simply translating and compiling the app. Can someone help shed some light on the subject? Is binding more likely to create a working executable with less hassle? Is development time considered or proven to be generally shorter?

Thanks


Ronald Weidner

new topic     » topic index » view message » categorize

2. Re: Bind vs Native

xecronix said...

I'm struggling to find the advantages of binding an EU app vs simply translating and compiling the app. Can someone help shed some light on the subject? Is binding more likely to create a working executable with less hassle? Is development time considered or proven to be generally shorter?

Thanks


Ronald Weidner

Bining vs Translation is not really a factor in development as this is done with the interpreter. Assuming your program has no errors, either binding or translation will produce a working executable. For large applications binding will be much faster than translating, but a translated application should run faster. This may be up to 5x faster but varies greatly depending on the nature of the application. A translated app does only limited run time checking. A translated app is likely to be larger, but compresses better if you wish to do this. Tranlation requires an external C compiler. You do not need to understand C to use it.

Both have advantages and disadvantages. You will have to decide which is best for your situation.

new topic     » goto parent     » topic index » view message » categorize

3. Re: Bind vs Native

Use /euphoria/demos/bench.ex to evaluate your program to get a true idea of the differences.

My test case

To make the Euphoria documentation I must run two programs; the first one is:

eui eudoc -a manual.af -o foo.txt 

That just creates the first file I need, using the interpreter.

Use the bench.ex program to run a copy of the interpreter running your program:

eui bench eui -a manual.af -o foo.txt 

This runs the interpreter and gives me an execution time.

Under Linux I got 5.14 s and under Windows I got 4.97 s.

I compiled eudoc using Linux and the time was now 3.78 s.

The creolehtml.ex program is the next step in creating documentation.

Under Linux using the interpreter it took 152.29 s while the compiled version took 152.79 s.

Under Windows the interpreter took 159.09 s.


I have thus shown that either Linux or Windows is faster. I have also shown that compiler is either faster or slower.

I did not predict correctly the results of my benchmarking!

I have also run benchmarks (the shootout benchmarks) against Python and Lua showing that Euphoria is 2 to over 10 times faster.


Until you take measurements, for specific cases, it is bad to generalize and make predictions about the performance of a program.

Your choice of interpreter, binding, compiling, may come down to which option you feel is more convenient.

new topic     » goto parent     » topic index » view message » categorize

Search



Quick Links

User menu

Not signed in.

Misc Menu