Short-circuit common dict operations
Short-circuit common dict operations

Stop traversing all segments and buckets of empty
dictionaries by adding a clause that checks the
dictionary size.

This improved compilation of an erlang project from
7.5s to 5.5s seconds when trying out a sample
implementation of erl_lint that uses dicts.

release-project/otp,bernardd/otp,gjaldon/otp,mikpe/otp,vladdu/otp,weisslj/otp,stolen/otp,matwey/otp,marquisthunder/otp,lantti/otp,emile/otp,aboroska/otp,rlipscombe/otp,jj1bdx/otp,emacsmirror/erlang,haguenau/otp,c-rack/otp,falkevik/otp,potatosalad/otp,jamesruan/otp,krishnakumar4a4/otp,emacsmirror/erlang,krishnakumar4a4/otp,theom/otp,johanclaesson/otp,getong/otp,cobusc/otp,mikpe/otp,ahmedshafeeq/otp,jemsbhai/otp,theom/otp,lemenkov/otp,RichMorin/otp,rlipscombe/otp,emile/otp,matwey/otp,gjaldon/otp,Teino1978-Corp/otp,riverrun/otp,klarna/otp,RGafiyatullin/otp,kvakvs/otp,mikpe/otp,klarna/otp,awetzel/otp,bjorng/otp,release-project/otp,entropiae/otp,awetzel/otp,tuncer/otp,dgud/otp,haguenau/otp,beni55/otp,GinjaNinja32/otp,massemanet/otp,lhslll/otp,dgud/otp,goertzenator/otp,rlipscombe/otp,krishnakumar4a4/otp,johanclaesson/otp,lrascao/otp,lucafavatella/otp,paladim/otp,g-andrade/otp,vladdu/otp,bsmr-erlang/otp,aboroska/otp,RoadRunnr/otp,NOMORECOFFEE/otp,RJ/otp,haguenau/otp,lianghaivv/otp,matwey/otp,fenollp/otp,benoitc/otp-1,RichMorin/otp,goertzenator/otp,GinjaNinja32/otp,isvilen/otp,sitexa/otp,lucafavatella/otp,sdebnath/otp,entropiae/otp,RGafiyatullin/otp,lhslll/otp,haguenau/otp,RGafiyatullin/otp,release-project/otp,ferd/otp,neeraj9/otp,lucafavatella/otp,lianghaivv/otp,RoadRunnr/otp,derek121/otp,legoscia/otp,bugs-erlang-org/otp,GinjaNinja32/otp,RaimoNiskanen/otp,sitexa/otp,legoscia/otp,release-project/otp,dgud/otp,awetzel/otp,potatosalad/otp,jamesruan/otp,isvilen/otp,sammoth-wazoku/otp,RJ/otp,psyeugenic/otp,enikki/otp,paulcager/otp,jj1bdx/otp,release-project/otp,matwey/otp,lucafavatella/otp,johanclaesson/otp,RichMorin/otp,saleyn/otp,cobusc/otp,getong/otp,msantos/otp,rlipscombe/otp,mujiatong/otp,lantti/otp,rlipscombe/otp,tuncer/otp,entropiae/otp,platinumthinker/otp,c-rack/otp,RJ/otp,platinumthinker/otp,ahmedshafeeq/otp,c-rack/otp,jamesruan/otp,jinshana/otp,uabboli/otp,massemanet/otp,lrascao/otp,Teino1978-Corp/erlang-otp,ferd/otp,bugs-erlang-org/otp,Teino1978-Corp/erlang-otp,falkevik/otp,palas/otp,schlagert/otp,g-andrade/otp,sdebnath/otp,tuncer/otp,g-andrade/otp,sdebnath/otp,Teino1978-Corp/otp,uabboli/otp,erlang/otp,stolen/otp,vinoski/otp,RaimoNiskanen/otp,RaimoNiskanen/otp,benoitc/otp-1,falkevik/otp,NOMORECOFFEE/otp,rlipscombe/otp,palas/otp,mikpe/otp,goertzenator/otp,schlagert/otp,msantos/otp,VincentHHL/otp,yangchengjian/otp,lucafavatella/otp,rlipscombe/otp,electricimp/otp,getong/otp,erlang/otp,yangchengjian/otp,VincentHHL/otp,yangchengjian/otp,palas/otp,isvilen/otp,lhslll/otp,paulcager/otp,neeraj9/otp,Teino1978-Corp/erlang-otp,RGafiyatullin/otp,electricimp/otp,johanclaesson/otp,kvakvs/otp,mujiatong/otp,paulcager/otp,bjorng/otp,RoadRunnr/otp,c-rack/otp,rlipscombe/otp,RichMorin/otp,jinshana/otp,mujiatong/otp,jemsbhai/otp,g-andrade/otp,vinoski/otp,gjaldon/otp,lianghaivv/otp,haguenau/otp,RaimoNiskanen/otp,lemenkov/otp,RoadRunnr/otp,dumbbell/otp,matwey/otp,benoitc/otp-1,Teino1978-Corp/erlang-otp,krishnakumar4a4/otp,emile/otp,NOMORECOFFEE/otp,schlagert/otp,RJ/otp,kvakvs/otp,hairyhum/otp,basho/otp,psyeugenic/otp,massemanet/otp,lhslll/otp,RaimoNiskanen/otp,jamesruan/otp,weisslj/otp,getong/otp,aboroska/otp,vic/otp,hairyhum/otp,legoscia/otp,legoscia/otp,dgud/otp,jemsbhai/otp,krishnakumar4a4/otp,bjorng/otp,aboroska/otp,uabboli/otp,jinshana/otp,vic/otp,isvilen/otp,ader1990/otp,matwey/otp,Teino1978-Corp/erlang-otp,jamesruan/otp,krishnakumar4a4/otp,mujiatong/otp,ader1990/otp,schlagert/otp,vinoski/otp,massemanet/otp,fenollp/otp,uabboli/otp,jj1bdx/otp,neeraj9/otp,vladdu/otp,marquisthunder/otp,lemenkov/otp,tuncer/otp,RJ/otp,beni55/otp,weisslj/otp,theom/otp,dumbbell/otp,jj1bdx/otp,ferd/otp,electricimp/otp,gjaldon/otp,benoitc/otp-1,beni55/otp,marquisthunder/otp,basho/otp,dumbbell/otp,neeraj9/otp,awetzel/otp,platinumthinker/otp,bugs-erlang-org/otp,enikki/otp,jj1bdx/otp,dumbbell/otp,jj1bdx/otp,bernardd/otp,msantos/otp,isvilen/otp,entropiae/otp,jj1bdx/otp,vic/otp,gjaldon/otp,fenollp/otp,bjorng/otp,jamesruan/otp,VincentHHL/otp,fenollp/otp,goertzenator/otp,kvakvs/otp,derek121/otp,paladim/otp,paladim/otp,emacsmirror/erlang,sdebnath/otp,cobusc/otp,jinshana/otp,c-rack/otp,tuncer/otp,basho/otp,neeraj9/otp,ferd/otp,bernardd/otp,jemsbhai/otp,ahmedshafeeq/otp,getong/otp,paulcager/otp,bugs-erlang-org/otp,kvakvs/otp,riverrun/otp,vladdu/otp,palas/otp,falkevik/otp,erlang/otp,stolen/otp,Teino1978-Corp/erlang-otp,erlang/otp,emacsmirror/erlang,massemanet/otp,goertzenator/otp,potatosalad/otp,sitexa/otp,bugs-erlang-org/otp,paulcager/otp,lantti/otp,aboroska/otp,RoadRunnr/otp,Teino1978-Corp/erlang-otp,weisslj/otp,emile/otp,msantos/otp,tuncer/otp,bsmr-erlang/otp,Teino1978-Corp/otp,potatosalad/otp,jemsbhai/otp,awetzel/otp,hairyhum/otp,bugs-erlang-org/otp,basho/otp,electricimp/otp,electricimp/otp,isvilen/otp,benoitc/otp-1,vinoski/otp,paulcager/otp,palas/otp,ferd/otp,cnbin/otp,klarna/otp,bsmr-erlang/otp,lianghaivv/otp,mikpe/otp,benoitc/otp-1,derek121/otp,hairyhum/otp,hairyhum/otp,bugs-erlang-org/otp,VincentHHL/otp,cobusc/otp,falkevik/otp,theom/otp,release-project/otp,bsmr-erlang/otp,derek121/otp,lemenkov/otp,bsmr-erlang/otp,stolen/otp,sammoth-wazoku/otp,GinjaNinja32/otp,ader1990/otp,vladdu/otp,dumbbell/otp,saleyn/otp,aboroska/otp,g-andrade/otp,riverrun/otp,beni55/otp,basho/otp,marquisthunder/otp,bjorng/otp,jinshana/otp,basho/otp,matwey/otp,g-andrade/otp,isvilen/otp,goertzenator/otp,emacsmirror/erlang,erlang/otp,jj1bdx/otp,g-andrade/otp,mikpe/otp,platinumthinker/otp,GinjaNinja32/otp,msantos/otp,GinjaNinja32/otp,sitexa/otp,platinumthinker/otp,mikpe/otp,bjorng/otp,gjaldon/otp,erlang/otp,bernardd/otp,paladim/otp,RaimoNiskanen/otp,dumbbell/otp,c-rack/otp,goertzenator/otp,theom/otp,beni55/otp,psyeugenic/otp,fenollp/otp,lianghaivv/otp,release-project/otp,theom/otp,jemsbhai/otp,stolen/otp,derek121/otp,hairyhum/otp,psyeugenic/otp,NOMORECOFFEE/otp,RichMorin/otp,basho/otp,entropiae/otp,psyeugenic/otp,enikki/otp,RoadRunnr/otp,bernardd/otp,VincentHHL/otp,jinshana/otp,bernardd/otp,isvilen/otp,kvakvs/otp,lantti/otp,benoitc/otp-1,RoadRunnr/otp,potatosalad/otp,schlagert/otp,jinshana/otp,dumbbell/otp,stolen/otp,aboroska/otp,marquisthunder/otp,sitexa/otp,yangchengjian/otp,isvilen/otp,sitexa/otp,johanclaesson/otp,cnbin/otp,c-rack/otp,ahmedshafeeq/otp,emacsmirror/erlang,Teino1978-Corp/otp,matwey/otp,lemenkov/otp,msantos/otp,NOMORECOFFEE/otp,stolen/otp,weisslj/otp,aboroska/otp,ahmedshafeeq/otp,lightcyphers/otp,sdebnath/otp,electricimp/otp,emile/otp,lantti/otp,cnbin/otp,matwey/otp,vinoski/otp,electricimp/otp,platinumthinker/otp,potatosalad/otp,ferd/otp,sammoth-wazoku/otp,riverrun/otp,bjorng/otp,cobusc/otp,legoscia/otp,hairyhum/otp,potatosalad/otp,klarna/otp,bjorng/otp,erlang/otp,lightcyphers/otp,dgud/otp,weisslj/otp,RGafiyatullin/otp,neeraj9/otp,fenollp/otp,uabboli/otp,bernardd/otp,awetzel/otp,emacsmirror/erlang,vladdu/otp,getong/otp,lemenkov/otp,ferd/otp,haguenau/otp,legoscia/otp,yangchengjian/otp,lianghaivv/otp,lrascao/otp,lightcyphers/otp,johanclaesson/otp,lhslll/otp,krishnakumar4a4/otp,emile/otp,g-andrade/otp,dumbbell/otp,bjorng/otp,sitexa/otp,falkevik/otp,RGafiyatullin/otp,weisslj/otp,lantti/otp,legoscia/otp,hairyhum/otp,platinumthinker/otp,lemenkov/otp,Teino1978-Corp/otp,erlang/otp,tuncer/otp,getong/otp,vinoski/otp,Teino1978-Corp/otp,riverrun/otp,riverrun/otp,sdebnath/otp,dgud/otp,cnbin/otp,basho/otp,palas/otp,derek121/otp,lightcyphers/otp,vinoski/otp,neeraj9/otp,fenollp/otp,theom/otp,vic/otp,RoadRunnr/otp,NOMORECOFFEE/otp,bsmr-erlang/otp,tuncer/otp,marquisthunder/otp,bernardd/otp,dgud/otp,psyeugenic/otp,saleyn/otp,yangchengjian/otp,g-andrade/otp,getong/otp,cobusc/otp,RGafiyatullin/otp,lantti/otp,saleyn/otp,sitexa/otp,saleyn/otp,klarna/otp,bsmr-erlang/otp,lightcyphers/otp,RichMorin/otp,beni55/otp,palas/otp,vic/otp,potatosalad/otp,saleyn/otp,yangchengjian/otp,yangchengjian/otp,paladim/otp,VincentHHL/otp,jj1bdx/otp,vinoski/otp,mikpe/otp,bjorng/otp,NOMORECOFFEE/otp,gjaldon/otp,goertzenator/otp,haguenau/otp,cnbin/otp,schlagert/otp,electricimp/otp,derek121/otp,krishnakumar4a4/otp,lucafavatella/otp,vladdu/otp,beni55/otp,lrascao/otp,theom/otp,lrascao/otp,RJ/otp,neeraj9/otp,isvilen/otp,falkevik/otp,paulcager/otp,lightcyphers/otp,fenollp/otp,kvakvs/otp,lianghaivv/otp,vinoski/otp,awetzel/otp,stolen/otp,RaimoNiskanen/otp,vic/otp,massemanet/otp,falkevik/otp,lianghaivv/otp,uabboli/otp,uabboli/otp,ahmedshafeeq/otp,release-project/otp,cobusc/otp,Teino1978-Corp/otp,massemanet/otp,palas/otp,Teino1978-Corp/otp,RichMorin/otp,sdebnath/otp,entropiae/otp,schlagert/otp,vladdu/otp,dumbbell/otp,saleyn/otp,GinjaNinja32/otp,ferd/otp,getong/otp,cobusc/otp,goertzenator/otp,johanclaesson/otp,bernardd/otp,enikki/otp,getong/otp,psyeugenic/otp,paladim/otp,vinoski/otp,mujiatong/otp,vic/otp,emile/otp,VincentHHL/otp,haguenau/otp,ahmedshafeeq/otp,ader1990/otp,beni55/otp,paulcager/otp,dumbbell/otp,jamesruan/otp,electricimp/otp,kvakvs/otp,rlipscombe/otp,RoadRunnr/otp,mujiatong/otp,lhslll/otp,schlagert/otp,release-project/otp,weisslj/otp,paladim/otp,uabboli/otp,g-andrade/otp,lucafavatella/otp,emile/otp,vladdu/otp,benoitc/otp-1,fenollp/otp,dgud/otp,gjaldon/otp,vic/otp,RGafiyatullin/otp,psyeugenic/otp,enikki/otp,Teino1978-Corp/erlang-otp,mujiatong/otp,RJ/otp,msantos/otp,aboroska/otp,marquisthunder/otp,riverrun/otp,jamesruan/otp,entropiae/otp,riverrun/otp,sammoth-wazoku/otp,emacsmirror/erlang,lrascao/otp,RichMorin/otp,marquisthunder/otp,GinjaNinja32/otp,uabboli/otp,saleyn/otp,erlang/otp,mujiatong/otp,lantti/otp,potatosalad/otp,ahmedshafeeq/otp,kvakvs/otp,sammoth-wazoku/otp,emile/otp,enikki/otp,mikpe/otp,enikki/otp,ferd/otp,emacsmirror/erlang,bsmr-erlang/otp,NOMORECOFFEE/otp,cnbin/otp,legoscia/otp,lrascao/otp,legoscia/otp,sammoth-wazoku/otp,lrascao/otp,lightcyphers/otp,lhslll/otp,emacsmirror/erlang,cnbin/otp,sammoth-wazoku/otp,lightcyphers/otp,mikpe/otp,RaimoNiskanen/otp,paladim/otp,lhslll/otp,platinumthinker/otp,jemsbhai/otp,awetzel/otp,potatosalad/otp,msantos/otp,lrascao/otp,RJ/otp,ader1990/otp,VincentHHL/otp,erlang/otp,enikki/otp,klarna/otp,derek121/otp,ader1990/otp,c-rack/otp,lucafavatella/otp,lemenkov/otp,sdebnath/otp,falkevik/otp,jemsbhai/otp,sammoth-wazoku/otp,klarna/otp,cnbin/otp,bsmr-erlang/otp,rlipscombe/otp,RaimoNiskanen/otp,bugs-erlang-org/otp,massemanet/otp,saleyn/otp,tuncer/otp,johanclaesson/otp,ader1990/otp,weisslj/otp,entropiae/otp,ahmedshafeeq/otp,dgud/otp,basho/otp,jj1bdx/otp,massemanet/otp,dgud/otp,jinshana/otp,ader1990/otp,klarna/otp