Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] Re: Rebol API to DyBASE

From: knizhnik:garret:ru at: 17-Dec-2003 18:55

Hello Cyphre, Wednesday, December 17, 2003, 6:40:03 PM, you wrote: C> Hi, C> I just had a quick look at C> http://www.garret.ru/~knizhnik/dybase/doc/dybase.html#comparison . Is Rebol C> really so slow or it is because the ported code isn't optimized to the C> language yet? 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 in most other high-level languages. And as far as Rebol hash is also series, appending element to it cause 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). 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. C> regards C> Cyphre C> ----- Original Message ----- C> From: "Konstantin Knizhnik" <[knizhnik--garret--ru]> C> To: <[rebol-list--rebol--com]> 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:[knizhnik--garret--ru] >> >> -- >> To unsubscribe from this list, just send an email to >> [rebol-request--rebol--com] with unsubscribe as the subject. >> >> >>
-- Best regards, Konstantin mailto:[knizhnik--garret--ru]