Changeset 33006 in project


Ignore:
Timestamp:
12/19/15 22:02:46 (4 years ago)
Author:
svnwiki
Message:

Anonymous wiki edit for IP [85.177.47.85]: Added: Issues

File:
1 edited

Legend:

Unmodified
Added
Removed
  • wiki/eggref/4/hopefully

    r33004 r33006  
    1313
    1414Module {{hopefully}} contains bindings recommended to use.  These
    15 transactions are roughly as fast as normal locking (ca. 10% faster
    16 than locking).
     15transactions are roughly as fast as normal locking.  (Depending more
     16on compiler optimizations and usage szenarios.)
    1717
    1818Module {{hopefully-current}} adds support for the concept of an
    1919implicit current transaction, which is nice but and order of magnitude
    2020more expensive at runtime.
     21
     22=== Issues
     23
     24{{define-a-record}} and {{define-ac-record}} both define a
     25{{TYPE-FIELD}} accessor, though with incompatible semantics.  While
     26the AC-variant is changes meaning depending on whether or not there is
     27a {{current-transaction}} on the threadm the A-variant always returns
     28the external value.  The former is OK, since the whole purpose is to
     29be downward compatible to define-record based code not aware of
     30transactions.  But once most of a code base is converted to use
     31references, those field readers should not suddenly change meaning
     32anymore.  The "alway-return-global-value" accessors need to be
     33renamed.  Just how?  Append "{{@}}"?
    2134
    2235=== Modules
     
    6679
    6780<procedure>(call-with-transaction PROC)</procedure>
     81<procedure>(call-with-transaction/values PROC)</procedure>
    6882
    6983Call PROC with one argument, a fresh (lightweight) transaction.
     
    7185(See hopefully-current for the difference to heavy transactions).
    7286
    73 Returns whatever PROC returns.
     87Returns whatever PROC returns.  Use {{call-with-transaction}} for
     88multiple value returns {{call-with-transaction/values}} returns all
     89values.
    7490
    7591Note: One {{should not}} pass the transaction argument around among
     
    148164See also tests/run.scm.
    149165
     166=== Compile time options
     167
     168-D no-dirty-tagging : save some internal consitency checks
     169-D debug: add additional consitency checks
     170
    150171=== About this egg
    151172
     
    160181==== Version History
    161182
     1830.2.1: 2015-12-19 -- Some tweaks.
     184
    1621850.2: 2015-12-18 -- Replacing chicken hash tables with llrb trees made
    163186ac-records about 4x faster.
Note: See TracChangeset for help on using the changeset viewer.