Re: 64bit support

new topic     » goto parent     » topic index » view thread      » older message » newer message
mattlewis said...

Why would I not mention its performance? I agree that there are some cases where it would be nice to optimize the copy. That's one area we're working on right now. But in general, the performance is pretty good.

Well, I'd like to see some recent benchmarks.

mattlewis said...

By double vs single indirection, I can only guess that you're talking about the way it uses the symbol table, and object pointers. Could you be more specific?

I think (in C-like code) this is the current implementation:

struct { 
  long length; 
  long fill; 
  long refcount; 
  long* data; 
} *s; 
 
s->data[i] // i-th element, double indirection 
It should be possible to do this instead:
struct { 
  long length; 
  long fill; 
  long refcount; 
  long data[1]; /* trick the compiler: can be more in reality */ 
} *s; 
 
s->data[i] // i-th element, single indirection 
I don't know how hard it would be to change this, though. I don't know if it improves the performance, either.

mattlewis said...

But I don't agree on that being a mantra of Euphoria:

[[http://rapideuphoria.com/hotnew.htm|What is Euphoria? said...

] ] Euphoria is a simple, flexible, and easy-to-learn programming language. It lets you quickly and easily develop programs for Windows, DOS, Linux and FreeBSD.

Well, "simple and easy-to-learn" confirms my point. "Flexibility" is the result of dynamic typing, yet it is not quite flexible enough for complex graph-like data structures.

mattlewis said...

It's typically pretty easy to see what any piece of euphoria code is doing--from a syntax/language, not algorithmic point of view.

Hm, that is true for assembler too. The algorithmic point of view is IMHO the interesting part of a piece of code. (I don't get your C example here: There is no operator overloading in C.)

mattlewis said...

I suppose that if you tried to build, for example, a C-style implementation of a graph in euphoria, you'd certainly come to that conclusion. I can't figure out what you mean with respect to reference counting not garbage collecting a graph.

Well, I think I am wrong with the GC aspect: Implementing graphs with a matrix should work. However, reference counting does not work for cyclic structures.

mattlewis said...

Yes, it's not a tool suitable for every problem (let us know when you find it, please).

Well, IMHO Python and Lua have fewer problems than Euphoria. Lua is quite fast too and may be faster than Euphoria in some benchmarks.

mattlewis said...

But then, I often wish for Euphoria features when coding in those other languages.

I am interested. Could you please give an example?

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu