From: konstantin@... Date: 2017-08-18T10:59:57+00:00 Subject: [ruby-core:82420] [Ruby trunk Bug#13827] Improve performance of `Base64.urlsafe_encode64` Issue #13827 has been reported by Soilent (Konstantin _). ---------------------------------------- Bug #13827: Improve performance of `Base64.urlsafe_encode64` https://bugs.ruby-lang.org/issues/13827 * Author: Soilent (Konstantin _) * Status: Open * Priority: Normal * Assignee: * Target version: * ruby -v: * Backport: 2.2: UNKNOWN, 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- Improve performance of `Base64.urlsafe_encode64` by avoiding unnecessary memory allocations. This may seem insignificant, but for the web service I am working on this patch makes noticeable improvement. ### Benchmark ~~~ ruby require 'benchmark/ips' require 'base64' require 'securerandom' Benchmark.ips do |x| string = SecureRandom.bytes(128) x.report 'Base64.urlsafe_encode64' do |t| t.times { Base64.urlsafe_encode64(string) } end end ~~~ ### Before ~~~ Base64.urlsafe_encode64 559.355k (�� 3.2%) i/s - 2.805M in 5.019239s ~~~ ### After ~~~ Base64.urlsafe_encode64 736.211k (�� 2.5%) i/s - 3.721M in 5.057606s ~~~ ### Patch https://github.com/ruby/ruby/pull/1676 -- https://bugs.ruby-lang.org/ Unsubscribe: