* Konstantin Knizhnik <[EMAIL PROTECTED]> [031217 07:26]:
> 
> 
> Rebol has awful implementation of hash tables.
> First of all, it is very inconvenient that there are normal set/get
> operations. You have to use something like this:
> 
>    h: find/tail hash key
>    either h [change h key value] [append append hash key value]
> 
> instead of
> 
>    hash[key] = value
 
  Grrr! I *hate* doing that, and in python I have to do
  it a lot!
  In rebol, I just do

    hash/que 'val key

  much nicer, it took me half a day to implement
  my own object, but it was well worth it.

> in most other high-level languages.
> 
> And as far as Rebol hash is also series, appending element to it cause

  Hmm! Are you not using to-hash ?

> a lot of reallocations, so complexity of insert operation seems to be
> linear (instead of constant). And if we use "insert hash" instead of
> "append hash" (not "insert tail hash"), then performance becomes
> really awful - copying all series element increase complexity to
> quadratic and insertion of 100000 integer elements in hash takes about
> half an hour (less then second in all other languages).
 
  I haven't run tests like that, but see my comment above.

> And as far as object cache is one of the main components of object
> oriented database, such inefficient implementation of hash table leads
> to poor performance of Rebol DyBASE API.
 
  All language have their strengths and weaknesses, *and* their "best
  fits".
  Mysql is a best fit for rebol IMHO, rebol mysql access on our large,
  multi-language projects beats perl and python hands down both
  in access speed and in impelementation/coding. One of Rebol's strengths
  is TCP/IP is native (compiled into the binray)
  and the mysql-protocol exploits that splendidly.

  On the other hand, perhaps the native 'hash' of rebol is not is
  advanced as the btree approach that python uses.
  I do believe that a true hash datatype is a linked list,
  though.

  still, it is nice to see these tests and the work that you've
  done.

  regards
  tim

> 
> C> regards
> C> Cyphre
> 
> C> ----- Original Message -----
> C> From: "Konstantin Knizhnik" <[EMAIL PROTECTED]>
> C> To: <[EMAIL PROTECTED]>
> C> Sent: Wednesday, December 17, 2003 12:15 PM
> C> Subject: [REBOL] Rebol API to DyBASE
> 
> 
> >>
> >> Hello all,
> >>
> >> First version of Rebol API to my object-oriented database DyBASE is
> >> ready. It can be downloaded from my site:
> >> http://www.garret.ru/~knizhnik/dybase.html
> >>
> >> DyBASE is embedded object oriented database for languages with dynamic
> >> type checking. Rebol is fourth language for which DyBASE API is
> >> provided. Data in database is stored in language independent format,
> >> so (with some exceptions) data written by Python application can be
> >> accessed by Rebol application (and visa versa).
> >>
> >> Please read Rebol section in DyBYSE manual to get more information of
> >> about specific of Rebol interface to DyBASE.
> >>
> >> To use DyBASE at Windows in your Rebol application you need to include in
> C> PATH
> >> two libraries: DyBASE core dybasedll.dll (which is located in dybase\lib
> >> directory) and Rebol wrapper - dybaseapi.dll (located in dybase\rebol
> >> directory). At Unix you should first build these libraries. Use
> >> makefile in dybase/src and dybase/rebol directories.
> >> Then just load "dybase.r" module.
> >>
> >> Please look also at examples:
> >> dybase/rebol/guess.r - game: "guess an animal"
> >> dybase/rebol/testindex.r - test of indices
> >> dybase/rebol/testlink.r - detail-order-supplier database
> >>
> >> All bug reports, change requests, suggestions are welcome.
> >>
> >> --
> >> Best regards,
> >>  Konstantin                            mailto:[EMAIL PROTECTED]
> >>
> >> --
> >> To unsubscribe from this list, just send an email to
> >> [EMAIL PROTECTED] with unsubscribe as the subject.
> >>
> >>
> >>
> 
> 
> 
> 
> -- 
> Best regards,
>  Konstantin                            mailto:[EMAIL PROTECTED]
> 
> -- 
> To unsubscribe from this list, just send an email to
> [EMAIL PROTECTED] with unsubscribe as the subject.

-- 
Tim Johnson <[EMAIL PROTECTED]>
      http://www.alaska-internet-solutions.com
-- 
To unsubscribe from this list, just send an email to
[EMAIL PROTECTED] with unsubscribe as the subject.

Reply via email to