More Efficient Object Serialization

squawkpsychoticSoftware and s/w Development

Dec 2, 2013 (3 years and 10 months ago)

85 views

 ￿    
      
    ￿  
￿￿￿  ￿￿￿
￿￿￿￿￿￿￿ ￿
￿        ￿       ￿
          ￿    ￿  
    ￿￿￿￿￿￿￿        ￿
  ￿                
￿
       ￿       
    ￿        ￿  ￿ ￿ ￿
    ￿      
      ￿ ￿   
       ￿        ￿ 
     ￿  ￿       
  ￿￿￿  ￿￿￿￿
￿   
            ￿￿￿ ￿￿    ￿
   ￿￿￿                 
￿  ￿   ￿    
    ￿     ￿ 
         ￿  ￿   ￿ 
      ￿￿               
   ￿ ￿￿￿    ￿  ￿￿￿   ￿
       ￿        ￿  
 ￿ ￿      ￿    ￿       
      ￿
   ￿           ￿￿￿   
￿￿￿           ￿         
            ￿
￿￿￿     
   ￿￿￿   ￿         ￿  ￿
 ￿          ￿     
          ￿             
      ￿     ￿       
      ￿           
             ￿  ￿
   ￿             
               ￿   
        ￿    ￿ ￿  ￿
      ￿             
       ￿  ￿            ￿
￿       ￿      ￿        
 ￿￿
 ￿        ￿
￿      ￿ ￿   ￿      ￿
           ￿    ￿ ￿
     ￿    ￿   
 ￿  ￿             
    ￿            ￿
     ￿            
             ￿    ￿    
               ￿ ￿    
            ￿
                 
                ￿
      ￿   ￿￿    ￿
             ￿  ￿
              ￿￿
￿￿      ￿￿￿￿
￿￿￿   ￿
            ￿     ￿
   ￿￿￿￿￿￿￿            ￿
￿     
￿￿ 
￿  ￿ ￿ 
￿￿￿￿
 ￿￿
￿￿￿￿ ￿￿￿￿
￿￿￿￿ ￿￿￿￿
￿￿￿￿ ￿￿￿￿
    ￿￿
￿￿￿￿ ￿￿￿
￿￿￿￿ ￿￿￿
￿￿￿￿ ￿￿￿
￿￿
￿￿￿￿ ￿￿￿
￿￿￿ ￿￿￿
￿￿￿￿ ￿￿￿
  ￿￿   ￿ ￿ ￿   ￿￿￿￿￿￿￿￿      ￿   ￿
￿         ￿￿   ￿ ￿     ￿
   ￿         ￿￿         ￿  ￿
     ￿￿￿￿    ￿￿ ￿  ￿￿   ￿￿￿￿  
     ￿￿￿ ￿ ￿ ￿      ￿
￿
  ￿  
￿
 ￿ ￿      ￿    ￿  ￿ 
   ￿       ￿      ￿   ￿
 ￿    ￿               
      ￿￿ ￿  ￿           
              ￿   ￿
￿  ￿         ￿  
 ￿              ￿￿￿  
￿               ￿￿￿ 
  ￿          ￿￿￿￿   
￿
￿￿￿     
          ￿  ￿   
 ￿  ￿     ￿      ￿
         ￿  ￿     ￿
   ￿￿   ￿  ￿    
￿￿   ￿           
￿￿
￿   
            ￿￿
￿       ￿               ￿
           ￿  ￿￿￿￿￿ 
             ￿
  ￿
   ￿               
  ￿          ￿
￿  ￿             
 ￿￿￿￿￿     ￿         ￿￿￿ ￿    ￿
      ￿ ￿￿￿  ￿      
   ￿       ￿      
       ￿           ￿
             
                   
      ￿              
     ￿ ￿￿￿ ￿
    ￿        
   ￿      ￿        ￿
￿    ￿         ￿       ￿   
       ￿
￿            ￿   
    ￿   ￿  ￿ ￿￿￿￿    ￿
       ￿￿￿￿       ￿
             ￿ 
   ￿
   ￿             
 ￿              ￿
￿                  
 ￿                ￿
 ￿￿￿              
      ￿
            ￿
￿                   
￿             ￿  ￿￿￿   ￿
         ￿        ￿ 
 ￿  ￿           ￿￿￿￿
    ￿        
        ￿          
       ￿  ￿       
                  
         ￿￿ ￿    
        ￿
￿   ￿  
 ￿             
            ￿  ￿  
    ￿      ￿
￿￿￿     ￿
       ￿         ￿
            
      ￿          ￿
         ￿
        ￿  ￿   ￿
       ￿ ￿ ￿ ￿￿￿ ￿   ￿ ￿￿￿￿ ￿ ￿   ￿
￿ ￿ ￿￿￿ ￿   ￿ ￿￿￿ ￿ ￿  ￿   ￿￿         ￿
   ￿￿         ￿
 ￿           
   ￿    ￿     
       ￿
    ￿￿￿  ￿￿￿         
 ￿￿  ￿               
 ￿
￿￿￿        
                      
                  ￿
Standard Marshaling by Means of
Dynamic Type Inspection
0
200
400
600
800
1000
1200
1400
1600
Write Read
µs/Object
Slim type information (section 3.2)
UKA serialization
      
   ￿ 
￿     ￿￿ 
         
  ￿
        
 ￿  ￿
        
 ￿   ￿ 
￿  
       ￿
￿ ￿￿ ￿          ￿   
   ￿￿
  ￿              ￿      
  ￿       ￿      
                  
￿
                
￿                ￿ 
                   
    ￿      ￿ ￿ ￿ 
                  
            ￿
 ￿            
￿￿        ￿     
         ￿  ￿   
      ￿  ￿     ￿￿￿￿
￿￿￿       
        ￿              
 ￿                ￿
     ￿
￿
        
￿
             ￿        
                ￿
Explicit Marshaling Routine
0
200
400
600
Write Read
µs/Object
Slim type information (section 3.2)
Internal buffering (section 3.4a)
Buffer accessibility (section 3.4b)
Keeping type information on reset (section 3.3)
UKA serialization
      
    ￿
 ￿     ￿￿
     
￿
     
      ￿
    ￿￿￿
 ￿￿￿￿       
 ￿     
    ￿  ￿￿￿
   ￿￿￿  ￿￿￿  
     ￿
     ￿
   ￿￿
        
   ￿     
        
      ￿
￿ ￿￿ ￿      ￿    ￿
   ￿￿
 ￿      ￿           ￿
￿          ￿ 
  ￿
              
          ￿   ￿   
     ￿
    ￿  ￿ ￿    
      ￿           ￿
 ￿         ￿      ￿￿￿  
          ￿          
 ￿ ￿ ￿    ￿      
 ￿￿
￿￿￿  ￿
 ￿          ￿￿
￿      ￿￿       ￿ 
￿      ￿  ￿ ￿
  ￿    ￿   ￿    ￿￿ 
￿ ￿               
    ￿ ￿  ￿           
          ￿
 ￿   ￿      ￿
       ￿   ￿   ￿￿
           ￿
￿      ￿￿     ￿   
 ￿￿        ￿￿
￿         ￿
￿         ￿
￿ ￿               
   ￿    ￿ ￿    
       ￿￿ ￿       
         ￿
         ￿   ￿    
  ￿           
   ￿
     ￿￿￿   ￿    ￿   ￿￿
     ￿￿￿           
              ￿
 ￿
￿￿￿ ￿  
     ￿      ￿    
￿    ￿          ￿    
 ￿                ￿
             ￿       
￿   ￿              
  ￿
 ￿  ￿￿ ￿￿
                   
￿    ￿￿
 ￿  ￿  ￿
￿￿ ￿  ￿￿
 ￿   ￿  ￿
￿￿ ￿  ￿￿
 ￿                
  ￿ ￿         ￿￿   
  ￿ ￿￿  ￿      ￿   
               ￿ ￿    
￿         ￿        ￿ 
 ￿ ￿￿
       ￿   ￿￿  ￿
 ￿￿￿￿￿￿￿                ￿
￿￿￿     
  ￿ ￿ ￿     ￿     ￿ 
  ￿￿                  
￿  ￿
                ￿    
   ￿   ￿        ￿    ￿  
￿￿                 
￿ ￿  ￿  ￿ ￿       
     ￿               ￿
     ￿         
  ￿
￿￿ ￿ ￿￿￿ ￿ ￿




￿

   ￿ 
￿￿
￿￿￿￿
￿￿ ￿￿
￿￿￿￿ ￿￿
 ￿ ￿￿￿ ￿ ￿




￿

   ￿ 
￿￿
￿￿￿￿
￿￿ 
￿￿￿￿ 
￿ ￿￿   ￿   ￿    ￿￿
  ￿  ￿  ￿   ￿   ￿  
        ￿  ￿       ￿     
               ￿
     ￿￿ ￿    ￿             
    ￿￿
￿ 
        ￿       
             
     ￿￿       ￿ 
 ￿   ￿    ￿  ￿    ￿ ￿
 ￿  ￿ ￿  ￿     ￿
       ￿            ￿￿
     ￿              ￿
           ￿   ￿
 ￿  ￿￿￿        ￿
￿￿￿      
        ￿      
        ￿￿
          ￿     ￿
                  ￿
   ￿ ￿￿      ￿￿￿ ￿￿
                
         ￿
               
              ￿      ￿
  ￿       ￿   ￿ ￿
              ￿ ￿
 ￿       ￿     ￿  
               ￿   ￿
     ￿           
         ￿     ￿ 
  ￿
         ￿      ￿
   ￿    ￿   
      ￿       ￿    
               
        ￿
       ￿      ￿   
 ￿              ￿ 
          ￿ ￿ ￿ 
     ￿ ￿
￿￿￿      ￿
  ￿      ￿    
   ￿
￿              ￿
      ￿ ￿￿  ￿           ￿
 ￿      ￿  ￿￿￿    ￿￿
    ￿            ￿
￿ ￿￿￿  ￿           
   ￿   ￿  ￿    ￿  
              ￿
             ￿   ￿   
￿      ￿￿  ￿    ￿
  ￿￿     ￿  ￿￿   
          ￿
  ￿           ￿ 
                
 ￿
￿
                
            ￿       
                     
￿   ￿
    ￿  ￿      ￿ 
                ￿
￿￿￿      ￿
 ￿     ￿￿   ￿
      ￿              
￿
   ￿          
   ￿       ￿       
                 
￿ ￿       ￿    ￿  ￿     
￿     ￿    ￿
￿￿￿           ￿   ￿
       ￿  ￿       ￿
             ￿
￿
￿
            ￿  ￿   
     ￿        ￿
    ￿       ￿   ￿
￿
     ￿￿  ￿￿ ￿
￿￿￿  ￿  ￿￿￿ ￿
￿
                   ￿
   ￿               ￿
     ￿         
￿   ￿￿￿   ￿
     ￿      
 ￿             ￿
    ￿    ￿ ￿     
   ￿   ￿￿￿￿
￿￿￿    
              ￿
            
￿￿  ￿￿           ￿
      ￿           ￿
             ￿      ￿
          ￿ ￿     ￿
    ￿      ￿         
￿
           ￿       ￿
     ￿        
       ￿￿ ￿     ￿￿ 
            ￿  ￿  ￿
               ￿ ￿ 
  ￿        ￿ ￿   ￿
         ￿   ￿     
￿         ￿    ￿
                ￿ ￿
                  ￿
            ￿  ￿
    ￿         
            ￿ 
 ￿            
    ￿    ￿         ￿
￿ ￿     ￿￿      ￿    
    ￿ ￿        
                 ￿
      ￿      ￿￿
                  ￿
   ￿￿           
￿           
           ￿ ￿   ￿  ￿
         ￿ ￿   ￿   
  ￿￿
￿￿￿      ￿
           ￿       ￿
￿           ￿￿￿￿
              ￿￿
           ￿ 
 ￿        ￿    ￿
     ￿      ￿ ￿    
  ￿         ￿
  
￿ ￿ ￿ ￿          
   ￿    ￿      ￿  ￿
            ￿
￿

￿    ￿  ￿ ￿         
                ￿
   ￿           
            ￿    ￿
      ￿  ￿   ￿￿    ￿
             ￿ 
        ￿ ￿     ￿  
     ￿
￿ 
       ￿         
 ￿￿￿￿         
  ￿￿￿  ￿￿￿￿          
 ￿
￿￿￿      
 ￿        ￿  
  ￿     ￿          
 ￿
  ￿￿￿￿ ￿    ￿￿         
         ￿  ￿    ￿￿ ￿ ￿
             ￿￿￿￿   ￿      
    ￿￿￿￿         ￿￿        
￿       ￿       ￿     
￿ ￿ ￿               ￿   
           ￿￿     
￿
            ￿  ￿       
     ￿   ￿     
  ￿         ￿￿    
        ￿￿           ￿ ￿
            ￿
     ￿            
               
   ￿             
        ￿
￿￿ 
￿  ￿ ￿ 
￿￿￿￿
￿     
 
 
 
 
￿￿￿ ￿￿￿￿
￿￿￿ ￿￿￿
￿￿￿￿ ￿￿￿￿
￿
￿￿ ￿￿
￿￿ ￿￿
￿￿￿ ￿￿￿
    ￿
￿￿ ￿￿
￿￿ ￿￿
￿￿ ￿￿
 
￿￿￿ ￿￿￿
￿￿ ￿￿￿
￿￿￿ ￿￿￿
     
￿￿ ￿￿￿
￿￿ ￿￿￿
￿￿ ￿￿￿
  ￿
￿ ￿￿￿
￿ ￿￿
￿ ￿￿￿
￿  
￿￿ ￿￿
￿￿ ￿￿
￿￿￿ ￿￿￿
       
￿￿ ￿￿
￿￿ ￿￿
￿￿ ￿￿
  ￿￿             ￿
  ￿     ￿￿￿           
  ￿                 ￿￿￿￿  
                  
       ￿  ￿
                  ￿
   ￿
￿￿￿      
    ￿  ￿        ￿   
￿   ￿￿          
    ￿         ￿ ￿
    ￿      ￿￿￿￿￿￿￿￿￿      
 ￿    ￿￿
￿     
￿￿ 
￿  ￿ ￿ 
￿￿￿￿
 ￿￿
￿￿￿￿ ￿￿￿￿
￿￿￿￿ ￿￿￿￿
￿￿￿￿ ￿￿￿￿
    ￿￿
￿￿￿￿ ￿￿￿
￿￿￿￿ ￿￿￿
￿￿￿￿ ￿￿￿
￿￿
￿￿￿￿ ￿￿￿
￿￿￿ ￿￿￿
￿￿￿￿ ￿￿￿
  
￿￿￿￿
￿￿￿￿
￿￿￿￿ ￿
    ￿
￿￿ ￿
￿￿ ￿
￿￿ ￿
  ￿￿   ￿ ￿ ￿  ￿      ￿  ￿￿
￿ 
 ￿            ￿
                 ￿￿  ￿
              ￿ 
￿             ￿￿￿      
￿     ￿￿  ￿      
   ￿      ￿ ￿ 
  ￿            ￿￿￿  ￿￿￿￿  
      ￿
  ￿              
               ￿   ￿   
                   
           ￿
   
              ￿       
     ￿      ￿     ￿
￿        ￿    ￿￿
             ￿
       ￿    ￿   ￿
   ￿￿

￿￿  ￿   ￿     ￿ ￿ 
      ￿     ￿  ￿    
   ￿ ￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿   ￿     ￿￿￿￿￿
￿￿     ￿  ￿￿￿￿  ￿￿
￿￿      ￿  ￿￿￿ ￿￿ ￿￿    ￿￿
￿￿  ￿ ￿ ￿ ￿  ￿  ￿    ￿  ￿   ￿
        ￿    ￿ ￿￿￿￿  
￿ ￿  ￿￿￿￿￿￿￿￿   ￿￿￿￿￿
￿￿      ￿   ￿  ￿  ￿
￿   ￿    ￿   ￿ ￿   
           ￿￿￿    ￿   ￿    
  ￿        ￿￿￿￿￿ ￿ ￿￿￿￿￿
￿￿ ￿  ￿￿￿￿￿￿
￿￿ ￿        ￿  ￿   ￿￿￿￿￿
￿￿￿￿￿￿￿ ￿ ￿￿￿￿￿￿￿￿￿￿ ￿
￿￿   ￿￿   ￿ ￿       ￿ ￿
 ￿      ￿￿￿￿￿ ￿￿￿￿  ￿￿ ￿￿￿￿￿ ￿ ￿￿￿￿￿ ￿
￿￿  ￿    ￿   ￿   ￿   ￿ ￿ ￿
  ￿  ￿  ￿  ￿   ￿
  ￿    ￿￿￿        ￿    
   ￿ ￿     ￿￿￿￿     
       ￿ ￿ ￿     
￿￿￿￿￿ ￿￿￿￿￿  ￿
￿￿￿  ￿    ￿    ￿ ￿   ￿ ￿ ￿ 
      ￿  ￿        ￿ ￿￿￿￿￿￿￿￿￿￿￿￿￿￿
￿￿￿￿   ￿     ￿￿￿￿￿
￿￿￿   ￿      ￿  ￿  ￿ ￿   
￿ ￿        ￿      ￿￿￿￿￿   ￿
 ￿ ￿  ￿   ￿￿￿￿￿
￿￿￿        ￿   ￿￿     ￿
 ￿        ￿ ￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿￿      ￿￿￿￿￿