From: nobu@... Date: 2019-05-11T13:40:35+00:00 Subject: [ruby-core:92622] [Ruby trunk Feature#15281] Speed up Set#intersect with size check. Issue #15281 has been updated by nobu (Nobuyoshi Nakada). Assignee changed from matz (Yukihiro Matsumoto) to knu (Akinori MUSHA) The author of set.rb is knu. ---------------------------------------- Feature #15281: Speed up Set#intersect with size check. https://bugs.ruby-lang.org/issues/15281#change-77982 * Author: RGBD (Oleg Zubchenko) * Status: Open * Priority: Normal * Assignee: knu (Akinori MUSHA) * Target version: ---------------------------------------- Current implementation computes set intersection s1 & s2 in O(s2.size) time. It can be reduced to O([s1.size, s2.size].min) time. Additional speedup comes from using #each instead of #do_with_enum. See files attached for benchmarks. [Pull Request](https://github.com/ruby/ruby/pull/2003) P.S. using benchmark-ips gem ---Files-------------------------------- intersect.rb (1.91 KB) intersect_standalone.rb (671 Bytes) benchmark_results.txt (3.68 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: