[過去ログ]
Ruby 初心者スレッド Part 66 (1002レス)
Ruby 初心者スレッド Part 66 http://mevius.5ch.net/test/read.cgi/tech/1578068134/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
530: デフォルトの名無しさん (ワッチョイ 5a01-S/TN) [sage] 2020/05/23(土) 12:30:03.81 ID:KnmbZWpz0 >>527 さすがにそれはないわ それとも[1,1,1,1,1]を重複除去して[1]にしたい場合ってことなのかな >>529 先にallocateしたほうが必ずしも速いわけではないので最適化したければ要計測 http://mevius.5ch.net/test/read.cgi/tech/1578068134/530
534: デフォルトの名無しさん (ワッチョイ 5a01-S/TN) [sage] 2020/05/23(土) 19:00:02.41 ID:KnmbZWpz0 >>533 これ何度か繰り返して比較してみて https://ideone.com/N26HoC GC.disable/enable/startとかも組み合わせて試してみるといいと思う http://mevius.5ch.net/test/read.cgi/tech/1578068134/534
537: デフォルトの名無しさん (ワッチョイ 5a01-S/TN) [sage] 2020/05/23(土) 21:52:02.03 ID:KnmbZWpz0 >>535 そのwith sizeとwithout sizeはpushの差では? require 'benchmark_driver' Benchmark.driver do |x| x.prelude %{ input = (1..2_000_000).to_a.shuffle } x.report 'Array.new(0)', %{o = Array.new(0); input.each{|x| o.push(x+1)}} x.report 'Array.new(input.size)', %{o = Array.new(input.size); input.each{|x| o.push(x+1)}} x.report 'init with []', %{o = []; input.each{|x| o.push(x+1)}} x.report 'input.map', %{o = input.map{|x| x+1}} x.report 'block with size', %{o = Array.new(input.size){|x| input[x]+1 }} end pushを使うようにすれば 要素数分のinitializeが必要なArray.new(input.size)が 高い確率で一番遅くなる http://mevius.5ch.net/test/read.cgi/tech/1578068134/537
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.030s