Show
Ignore:
Timestamp:
10/17/06 08:25:35 (2 years ago)
Author:
audreyt
svk:copy_cache_prev:
21206
Message:

* Remove Judy from the Pugs build process.

This is a pervasive change to avoid GC issues completely
before the release, as the nature of addForeignPtrFinalizer's
weird interaction with GHC is not fully diagnosed.

Also, TVar/IORef based storage, which was exceedingly slow
in GHC 6.4, now actually compares competitively with Judy maps.
Judy is still more memory efficient and may be faster on some
architectures, but its re-incoporation will have to wait until
after release and a fuller understanding of its use of FFI/GC.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/Prim/Yaml.hs

    r14193 r14337  
    1010import qualified Data.IntSet as IntSet 
    1111import qualified Data.ByteString as Str 
     12import qualified Data.HashTable as H 
    1213import DrIFT.YAML 
    13  
    14 import qualified Judy.CollectionsM as C 
    1514 
    1615evalYaml :: Val -> Eval Val 
     
    3433                val <- newScalar =<< fromYaml valNode 
    3534                return (key, val) 
    36             hv      <- liftIO $ (C.fromList vals :: IO IHash) 
     35            hv      <- liftIO $ (H.fromList H.hashString vals :: IO IHash) 
    3736            return $ VRef (hashRef hv) 
    3837        Just s | (pre, post) <- Str.splitAt 16 s   -- 16 == length "tag:pugs:Object:"