From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: X-Spam-Status: No, score=-2.9 required=3.0 tests=ALL_TRUSTED,AWL,BAYES_00 shortcircuit=no autolearn=unavailable version=3.3.2 X-Original-To: raindrops-public@bogomips.org Received: from localhost (dcvr.yhbt.net [127.0.0.1]) by dcvr.yhbt.net (Postfix) with ESMTP id 969EB20276 for ; Tue, 2 Feb 2016 22:40:40 +0000 (UTC) From: Eric Wong To: raindrops-public@bogomips.org Subject: [PATCH] remove optimizations which made sense for older rubies Date: Tue, 2 Feb 2016 22:40:40 +0000 Message-Id: <20160202224040.30528-1-e@80x24.org> List-Id: Since Ruby 2.2, frozen string literals are implied for Hash#[] lookups. Constant lookups have inline caching since Ruby 1.9 (from YARV). Ruby 1.8.7 will continue to be supported, but the code will favor performance features of newer Rubies. --- lib/raindrops/aggregate/last_data_recv.rb | 6 +----- lib/raindrops/middleware.rb | 3 +-- 2 files changed, 2 insertions(+), 7 deletions(-) diff --git a/lib/raindrops/aggregate/last_data_recv.rb b/lib/raindrops/aggregate/last_data_recv.rb index eca89a2..6919fbc 100644 --- a/lib/raindrops/aggregate/last_data_recv.rb +++ b/lib/raindrops/aggregate/last_data_recv.rb @@ -13,10 +13,6 @@ # - Kgio::TCPServer#kgio_accept # - Kgio::TCPServer#kgio_tryaccept module Raindrops::Aggregate::LastDataRecv - # :stopdoc: - TCP_Info = Raindrops::TCP_Info - # :startdoc: - # The integer value of +last_data_recv+ is sent to this object. # This is usually a duck type compatible with the \Aggregate class, # but can be *anything* that accepts the *<<* method. @@ -78,7 +74,7 @@ def accept_nonblock # +last_data_recv+ to be accurate def count!(io) if io - x = TCP_Info.new(io) + x = Raindrops::TCP_Info.new(io) @raindrops_aggregate << x.last_data_recv end io diff --git a/lib/raindrops/middleware.rb b/lib/raindrops/middleware.rb index 7c647ec..bf16924 100644 --- a/lib/raindrops/middleware.rb +++ b/lib/raindrops/middleware.rb @@ -81,7 +81,6 @@ class Stats < Raindrops::Struct.new(:calling, :writing) end # :stopdoc: - PATH_INFO = "PATH_INFO" require "raindrops/middleware/proxy" # :startdoc: @@ -111,7 +110,7 @@ def initialize(app, opts = {}) # standard Rack endpoint def call(env) # :nodoc: - env[PATH_INFO] == @path and return stats_response + env['PATH_INFO'] == @path and return stats_response begin @stats.incr_calling -- EW