[Ecls-list] ECL gaining Unicode support [CC from News]

Teunis Peters teunis at wintersgift.com
Sun Oct 26 23:27:54 UTC 2008


Juan Jose Garcia-Ripoll wrote:
> On Sun, Oct 26, 2008 at 10:48 PM, Teunis Peters <teunis at wintersgift.com> wrote:
>   
>> (aside: I'm using 'or' in the binary inclusive sense here)
>> The thing - as I understand it about threading - is this:   a
>> single-threaded application on a single processor will always run faster
>> than a multi-threaded application or a single-threaded application on a
>> multiple-processor system.   The strength from multi-threaded code is seen
>> when multiple discrete threads are in play or multiple processors are
>> handling it.
>>     
>
> This is not really the case. The multithreaded code should run as fast
> as the single-threaded code except for two things:
> - The storage of special variables requires a hash table in the
> multithreaded case.
> - The lisp environment is stored in thread-local storage, forcing some
> additional code.
> This adds about 10% of time. The rest 15% comes from the Unicode stuff.
>   
ok most of that is OS-level issues.   I studied this a while back before 
Linux took off and these were issues that came up.   Most of the speed 
issues - on a multitasking system (any modern OS, basically) won't show 
as they're accounted out in testing.
if ecl is to be used in a complex environment with discrete sections 
performing different actions, threads are really ideal.   (otherwise - 
as per erlang - a really good IPC system would be needed.   It probably 
is anyway, though)

>> and re: wide characters and space: optimizations of this are possible and
>> probably should be explored once the system is working, I'd guess.    I
>> wouldn't mind looking into this myself once I understand why long long
>> integers aren't present...   (something in the type system?)
>>     
>
> No. Simply somebody has to code it in a way that it becomes a
> configurable option -- not all platforms have long long.
>   
Aha!   Thank you.   That helps.   I haven't worked with a platform that 
lacks "long-long" in some form - I only deal with linux, gcc-compiling 
for ARM embedded, windows and MacOSX.   All of them have it and some 
require it for OS interaction - it's mandatory for dealing with large 
files and for dealing with some types of network I/O.    It's been a 
block for some of my ideas because of this...  but there's always ways 
to work around some of it.
>   
>> I've been caught up in life issues for the last wee while but the
>> possibilities of a mingw32 build of ecl got me paying attention again.
>> (last time I tried, it didn't - not as cross-compiled under linux anyway)
>>     
>
> I am again in a wrong position to do things about the windows port,
> since I am migrating again to a different computer, but I get from
> time to time reports about this port and fixes, so I presume it must
> not be 100% dead.
>   
I'll look into it further - but there's others, too.

This is a wonderful language project.  Thank you
    - Teunis




More information about the ecl-devel mailing list