Feature #12973
closed[RFC] net/http: use require_relative to reduce syscalls
Description
require_relative speeds up loading of files by reducing path
lookups.  On a clean install with RubyGems-enabled,
"ruby -rnet/http -e exit" shows a reduction in failed open(2)
syscalls from 410 to 350 (x86-64 GNU/Linux).
I could not measure a time difference on my Linux-based
machines, however this should be noticeable to users of other
kernels with worse syscall and VFS performance than Linux.
Further use of require_relative will reduce lookups in other
places.
Thoughts?
Ideally, I'd like to get all of stdlib using require_relative.
Syscall failures annoy me greatly by making strace output noisy.
This is probably more suited for the 2.5 development cycle.
Files
        
          
          Updated by shevegen (Robert A. Heiler) almost 9 years ago
          
          
        
        
      
      I have no particular pro or con opinion, not that it would be relevant anyway - but I am watching this closely out of interest what others have to say. :)
        
          
          Updated by hsbt (Hiroshi SHIBATA) over 8 years ago
          
          
        
        
      
      - Status changed from Open to Assigned
 - Assignee set to naruse (Yui NARUSE)
 - Target version set to 2.5
 
        
          
          Updated by normalperson (Eric Wong) over 8 years ago
          
          
        
        
      
      
        
          
          Updated by shyouhei (Shyouhei Urabe) over 8 years ago
          
          
        
        
      
      I remember there was a similar issue https://bugs.ruby-lang.org/issues/8781.
        
          
          Updated by shyouhei (Shyouhei Urabe) over 8 years ago
          
          
        
        
      
      - Related to Feature #8781: Use require_relative() instead of require() if possible added
 
        
          
          Updated by naruse (Yui NARUSE) about 8 years ago
          
          
        
        
      
      - Assignee changed from naruse (Yui NARUSE) to normalperson (Eric Wong)
 
OK, could you commit it?
        
          
          Updated by Anonymous about 8 years ago
          
          
        
        
      
      - Status changed from Assigned to Closed
 
Applied in changeset trunk|r60388.
net/http: use require_relative to reduce syscalls
require_relative speeds up loading of files by reducing path
lookups.  On a clean install with RubyGems-enabled,
"ruby -rnet/http -e exit" shows a reduction in failed open(2)
syscalls from 410 to 350 (x86-64 GNU/Linux).
I could not measure a time difference on my Linux-based
machines, however this should be noticeable to users of other
kernels with worse syscall and VFS performance than Linux.
Further use of require_relative will reduce lookups in other
places.
- lib/net/http.rb: use require_relative
[ruby-core:78285] [Feature #12973]