天天看點

用 IQ分布模拟圖來測試浏覽器的性能

用 IQ分布模拟圖來測試浏覽器的性能

今天天氣太涼快,跟這個月曆上屬于夏天的那一頁顯得格格不入!就連我我床下那台廢棄的ThinkPad,居然也十分透涼氣,那外殼連我的體溫高都沒有,于是,我就開始想一個方法,讓我那個廢棄的電腦發熱,順便用它提出一個我認為有必要出現的概念。一個統計學上的概念,----->  讓人了解一個機率分布的真正在現實中的表現。

首先,你肯定聽說過智商吧!以坊間流傳的标準,智商的分布如下圖所示

用 IQ分布模拟圖來測試浏覽器的性能

但我一直覺得這圖對普通大衆,對學生,甚至對任何人都不友好!

為什麼怎麼說呢?

你知道智商的分布理論上是這個樣子,你也知道這或許就是智商資料的最真實的感受了,但你總是感覺缺點什麼。首先智商吸引力da嗎?雖然智商這個東西在醫學界基本是一種玄學狀态,但在民間,智商一直可是很有吸引力的!因為 人人都希望自己聰明,也都想知道自己的智商在人群中是什麼樣的一種地位,雖然人都耳如目睹那個140智商的人在人群中1/100,可是即使知道這些,還是難以想象一堆人裡,這140是怎麼分布的。

就像身高一樣!!!

于是我就想模拟一大群人,把各自的智商寫下來,然後收集起來集中展示,這樣就能看到在一大群人中,智商就是是怎麼分布的。

我們已有資料,然後就是求比例。

因為是正态分布,很好求的,在Excel裡一代,就出來了。我模拟的是一萬人裡每個智商的人的數目。

用 IQ分布模拟圖來測試浏覽器的性能

解讀:左邊是智商分數,右邊是對應的人數,比如左邊的76,右邊是81,那就說明智商76的在一萬人裡理論上有81位。

我們可以發現,根據理論,一萬人裡智商最高的是156,最低的是44 (我™才167的智商居然還數不到!),,,那麼就該寫程式了。好在我敲代碼一向很謹慎,是以就選了一個語言不那麼講究的js腳本來運作程式提高成功率和效率,當然也是因為我的破電腦裡什麼環境都沒搭建。

JS好啊,有浏覽器就能寫程式,而且還賊正兒八經!!!

代碼如下

<script>
var thelenght = 10000;
var temp = new Array();
function thecs(){
	//臨時的,指派
	
		//0
		for (var i =0,k=44;i<1;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=45;i<1;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=46;i<1;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=47;i<1;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=48;i<1;i++)
		{
			temp.push(k);
		}
		
		
		
		for (var i =0,k=49;i<2;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=50;i<2;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=51;i<2;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=52;i<3;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=53;i<3;i++)
		{
			temp.push(k);
		}
		//10
		for (var i =0,k=54;i<4;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=55;i<5;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=56;i<6;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=57;i<7;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=58;i<8;i++)
		{
			temp.push(k);
		}
		
		
		
		for (var i =0,k=59;i<9;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=60;i<11;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=61;i<13;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=62;i<15;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=63;i<17;i++)
		{
			temp.push(k);
		}
		///////////////////////////////////////////////////////////////////
		//20
		
		for (var i =0,k=64;i<20;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=65;i<23;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=66;i<26;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=67;i<30;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=68;i<34;i++)
		{
			temp.push(k);
		}
		
		
		
		for (var i =0,k=69;i<38;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=70;i<43;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=71;i<48;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=72;i<54;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=73;i<60;i++)
		{
			temp.push(k);
		}
		///////////////////////////////////////////////////////////////////
		//30
		for (var i =0,k=74;i<67;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=75;i<74;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=76;i<81;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=77;i<89;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=78;i<97;i++)
		{
			temp.push(k);
		}
		
		
		
		for (var i =0,k=79;i<105;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=80;i<114;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=81;i<123;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=82;i<132;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=83;i<142;i++)
		{
			temp.push(k);
		}
		///////////////////////////////////////////////////////////////////
		//40
		for (var i =0,k=84;i<151;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=85;i<161;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=86;i<170;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=87;i<179;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=88;i<188;i++)
		{
			temp.push(k);
		}
		
		
		
		for (var i =0,k=89;i<197;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=90;i<205;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=91;i<213;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=92;i<220;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=93;i<227;i++)
		{
			temp.push(k);
		}
		///////////////////////////////////////////////////////////////////
		//50
		for (var i =0,k=94;i<232;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=95;i<237;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=96;i<242;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=97;i<245;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=98;i<247;i++)
		{
			temp.push(k);
		}
		
		
		
		for (var i =0,k=99;i<249;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=100;i<249;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=101;i<249;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=102;i<247;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=103;i<245;i++)
		{
			temp.push(k);
		}
		///////////////////////////////////////////////////////////////////
		//60
		for (var i =0,k=104;i<242;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=105;i<237;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=106;i<232;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=107;i<227;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=108;i<220;i++)
		{
			temp.push(k);
		}
		
		
		
		for (var i =0,k=109;i<213;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=110;i<205;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=111;i<197;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=112;i<188;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=113;i<179;i++)
		{
			temp.push(k);
		}
		///////////////////////////////////////////////////////////////////
		//70
		for (var i =0,k=114;i<170;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=115;i<161;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=116;i<151;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=117;i<142;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=118;i<132;i++)
		{
			temp.push(k);
		}
		
		
		
		for (var i =0,k=119;i<123;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=120;i<114;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=121;i<105;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=122;i<97;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=123;i<89;i++)
		{
			temp.push(k);
		}
		///////////////////////////////////////////////////////////////////
		//80
		for (var i =0,k=124;i<81;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=125;i<74;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=126;i<67;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=127;i<60;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=128;i<54;i++)
		{
			temp.push(k);
		}
		
		
		
		for (var i =0,k=129;i<48;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=130;i<43;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=131;i<38;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=132;i<34;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=133;i<30;i++)
		{
			temp.push(k);
		}
		///////////////////////////////////////////////////////////////////
		//90
		for (var i =0,k=134;i<26;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=135;i<23;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=136;i<20;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=137;i<17;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=138;i<15;i++)
		{
			temp.push(k);
		}
		
		
		
		for (var i =0,k=139;i<13;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=140;i<11;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=141;i<9;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=142;i<8;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=143;i<7;i++)
		{
			temp.push(k);
		}
		///////////////////////////////////////////////////////////////////
		//100
		for (var i =0,k=144;i<6;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=145;i<5;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=146;i<4;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=147;i<3;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=148;i<3;i++)
		{
			temp.push(k);
		}
		
		
		
		for (var i =0,k=149;i<2;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=150;i<2;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=151;i<2;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=152;i<1;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=153;i<1;i++)
		{
			temp.push(k);
		}
		///////////////////////////////////////////////////////////////////
		//110
		for (var i =0,k=154;i<1;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=155;i<1;i++)
		{
			temp.push(k);
		}
		for (var i =0,k=156;i<1;i++)
		{
			temp.push(k);
		}
		
		
		
		
		
		
	sjpl(temp);
		
		
		
		
		
	
}





function sjpl(thearray)
{

		
		//随機排列
		for (var i =0;i<thelenght;i++)
		{
			var k=Math.floor(Math.random()*thelenght);
			var k2=Math.floor(Math.random()*thelenght);
			
			while(k==k2)
			{
			 k2=Math.floor(Math.random()*thelenght);
			}
			
			
			var linshi=thearray[k];
			thearray[k]=thearray[k2];
			thearray[k2]=linshi;
			
		}
		
		for (var i =0;i<thelenght;i++)
		{
			if((i+1)%40==0){
			
			
			document.getElementById("logs").innerHTML+=(thearray[i] + "<br>第"+((i+1)/40 +1)+"行");
			}else
			{
			document.getElementById("logs").innerHTML+=(thearray[i] + "&nbsp");
			}
			
		}
		
		
		


}



</script>
<body onload="thecs()">
	<div id="logs"></div>
	

	
</body>
      

  

 中間那麼長的for指派軍隊是我用宏錄制寫的,一分鐘就完成了,怎麼操作就不解釋了,玩計算機的基礎知識!

然後這個程式沒有太多研究優化算法,就一個簡單的随機排列和扔箱子理論,是以運作起來相當耗電,耗C,GPU!

當然我的目的是讓電腦發熱

浏覽器,總共用了42秒計算完畢,估計計算量有幾百萬至正無窮吧!

下面是結果

想象一下前面有一萬人的智商,都是從普通大街上組隊無選擇随機測的,,,或者你就想象前面是北京西客站,今天是農曆年臘月二十五,你有一個特異功能,就是看不見人隻能看見智商

那麼如果沒有毛病,你看到的是這個

*

每個數字代表一個人

(為什麼不用顔色來區分呢?因為顔色的分度很小,況且我們九年義務教育出來的誰不對數字過敏呢?)

用 IQ分布模拟圖來測試浏覽器的性能

posted on 2019-07-07 23:33 獨元殇 閱讀(...) 評論(...) 編輯 收藏