As it turns out, my concerns were not founded.

```require 'benchmark/ips'
require 'logger'

logger = ::Logger.new('/dev/null')

Benchmark.ips do |x|
  x.report('direct') { logger.debug {} }
  x.report('send') { logger.__send__(:debug) {} }
end
```

JRuby 1.7.11:

```
Calculating -------------------------------------
              direct      6298 i/100ms
                send      6312 i/100ms
-------------------------------------------------
              direct    68069.0 (±0.9%) i/s -     346390 in   5.089258s
                send    67510.2 (±1.0%) i/s -     340848 in   5.049306s
```

MRI 2.1.1:

```
Calculating -------------------------------------
              direct      6342 i/100ms
                send      6298 i/100ms
-------------------------------------------------
              direct    67615.3 (±2.8%) i/s -     342468 in   5.069185s
                send    68592.2 (±0.9%) i/s -     346390 in   5.050416s
```

Now, JRuby is slower than MRI here and I've filed an issue for that.  But in neither implementation is the use of `__send__` significantly different.