###############
# Luaxv #
###############

P/ECEŁALuaXNvg̉ZxvĂ݂܂B

OA{x_ZCûłǁẤAP/ECELuaXNvgɎgƎvƂłB
LuáAlĈgݍݗpXNvgłB
Lua̓̂ЂƂ́AP/ECÊ悤Ȕ͂Ȏsł(낤)g邮炢AʂȂƂłB
ʂ̓ƂāAsxƂ̂łAP/ECEŎgpꍇ́AX肪܂B
LuaXNvg̐lϐɂ́A{x_^AZŏ[ȂƂASāA{xZsĂ܂Ƃ_łB
P/ECÊ悤ɁA_Z\tgEFAŏsł́AȂ葬xቺĂ܂܂B
ɂ́ALua̐lϐA^Px^ɂ邱Ƃ\ł͂̂łAʓIłȂAł邱ƂĂ܂߁Aǂ@ł͂܂B
ŁAU@ŁA{x_ZCuāAP/ECEłLuảZxP邱Ƃɂ܂BƂ̂o܂łB

w2`1000͈̔͂ɂf̐x𐔂AXNvg̎sԂv邱Ƃɂ܂B
(u<a href='http://www.hakkaku.net/articles/20081023-283'>p : XNvguLuavn߂悤Ii1j - XNvguLuavn߂悤Ii1j</a>vQlĒ܂B)

	-- nfȂtrueAfłȂfalseԂ܂B
	function is_prime(n)
		local i
		for i = 2, (n - 1) do
			if (n % i) == 0 then
				return false
			end
		end
		return true
	end
	-- 2`1000͈̔͂ɂf̐AϐcɊi[܂B
	c = 0
	for i = 2, 1000 do
		if is_prime(i) then
			c = c + 1
		end
	end

ꌩAZgĂȂȏȂ̂łǁAOq̂ƂALuał͑SāA{xZɂȂĂ܂܂B
[vϐiAJE^c̏ARȂ{xZɂȂĂ܂܂B

܂́AEPSONŕ_ZCugāAv܂B
EPSONŕ_ZCuSRAMɔzuāAP/ECE48MHzŋ쓮܂B(͑SāA48MHzŌv܂B)
ʂ́Aȉ̂悤ɂȂ܂B

	       [] [ms]
	C(int)      168      195
	C(flt)      168     3767
	C(dbl)      168    19235
	Lua         168    22904

̍stɌčsĂB
uLuav̍sALuaXNvg̎sԂłB
uC(dbl)v̍śAASYCŁA{x_ZŎsꍇ̎sԂłB
uC(flt)v̍śAASYCŁAPx_ZŎsꍇ̎sԂłB
uC(int)v̍śAASYCŁAZŎsꍇ̎sԂłB

C(int)0.2bɑ΂āALua͖22bB͒x܂EEE
AC(dbl)20b߂Ă̂ŁAx̎匴Luâ̂ł͂ȂA{x_Zł邱Ƃ킩܂B

ɁAŕ_CugāAv܂B
ŕ_CuSRAMɔzuāAP/ECE48MHzŋ쓮܂B
ʂ́Aȉ̂悤ɂȂ܂B

	       [] [ms]
	C(int)      168      195
	C(flt)      168     1801
	C(dbl)      168     9223
	Lua         168    12700

C(flt)C(dbl)Aŕ_CǔʂŁA{炢ȂĂ܂B
C(dbl)Ȃ̂ƓALuaȂĂ܂B

ŌɁAŕ_CuRAMɔzuAP/ECE48MHzŋ쓮āAv܂B
ʂ́Aȉ̂悤ɂȂ܂B

	       [] [ms]
	C(int)      168      195
	C(flt)      168      991
	C(dbl)      168     3976
	Lua         168     6851

C(flt)C(dbl)ARAM̌ʂŁAɓ{炢ȂĂ܂B
C(dbl)Ȃ̂ƓALuaȂĂ܂B

LuaC(dbl)ׂƁALua̕SO`TO炢xAƂʂłB
LuaC(dbl)̎sԂ̍́AO̌vʂœȂ̂łǁA{x_Z̎ԂZȂALuaC̍ɂȂ܂B
łAXNvgCׂāA̒x̍Ȃ΁A[e͈͂Ǝv܂B

ƂŁA{Ƃ͊ÔłǁǍvʂŁACɂȂ_܂B
C(flt)C(dbl)̍Al{邱ƂłB
OWhetstonex`}[N({x)̌vʂlƁA{xƒPx̐\́A{ギ炢Ɏ܂͂łB
ȂAl{̍Ă܂̂ł傤H
ԂAZ(ɂ͏]u%v)𑽗pĂ邩炾Ǝv܂B
P/ECECPUł́AŹAMZ̃ASYŎ܂B
Px̏ZƔ{x̏ZrׂƁA܂PɁArbg{ɂȂA{̃XebvKvɂȂ܂B
̏A32rbg64rbg̈ႢA1Xebv̏ɂe܂B
PxȂ΁A32rbg̕MZōςނ̂ŁAP/ECECPUɔĂXebvZ߂𗘗pāA1Xebv1NbNŎsł܂B
{xł́A64rbg̕MZKvŁAXebvZ߂͗płA߂gݍ킹ďA1Xebv8`10NbN܂B
rbg̈ႢƁA1Xebv̑ẍႢ|킳āA16`20{炢̍܂B
(ۂɂ́AZ̒̕MZȊO̕ł́AȂɑ傫ȑx͖̂ŁAZŜŕςƁA͏Ȃ܂B)
ȂAZŹAMZ̃ASYg1rbg͂Ȃ̂ŁAZ̏ꍇقǁAPxƔ{x̍͐܂B

==================
Wed Feb 08 2012
Naoyuki Sawa
nsawa@piece-me.org
==================

--------------
2015/01/25ǋL
--------------

NnɁAuLua 5.3.0v[XĂ܂B
http://www.lua.org/ftp/lua-5.3.0.tar.gz
Lua 5.3.0̐V@\̒ŁAɒڂ̂́AZΉꂽƂłB
http://www.lua.org/manual/5.3/readme.html#changes

Lua 5.2.x܂łLuáAWݒł́Al̓SĎZŏĂ܂B
ꌩxłAۂɂ͋ɒ[ɒxAǂ؂ƎvĂ܂BmAwkƂłˁB

Ȃ킯ŁAẐ܂܂łقǍȂ̂łALua 5.3.0ł͐ZΉ܂B
m̉ZȂΐŏƂŁAʂ̃vOɋ߂ȂłB

ALua 5.3.0ł́Am̉ZłAZ(/)͏Ɏŏ܂BVBAƓłˁB
uLua 5.2.xLua 5.3.0ƂŁAĂʂႤvƂ悤Ȕ݊́AłB
̈ႢA܂CɂȂėǂłB(łcgČ؂悤Ǝv܂B)

m̉ZZɂȂƂƂŁA҂ł܂B
Ƃ킯ŁA܂xvsĂ݂܂B
v̏ڍׂ́AO(2012N28)̋LQƂĂB͑SāARAMgp,48MHz쓮Ōv܂B

ʂ͂Ȃ܂B

	       [] [ms]
	C(int)      168      175
	C(flt)      168      991
	C(dbl)      168     3978
	Lua         168     5232

܂AǑʂɊrׂāAC(int)̌ʂȂĂ܂ALuaƂ͊֌W܂B
ǑvNԂ̊ԂɁA̐Z[`̂Ǝv܂B

C(int)͒uƂāALuȃxȂĂ܂BǑʂɊrׂāA23%̍łB
AZ𐮐ZɒuɂẮAӊOƍ̌ʂłB
ʂŔALua 5.3.0̐ZA64rbg(long long)łB
P/ECECPU S1C33209́A32rbgCPUŁA64rbgZ̖߂͎Ă܂B
64rbgŹACu֐Ăяoă\tgEFAŏ鎖ɂȂAZƂ͂܂葁܂B
͍̌vʂ́A64rbgZRAMɔzuĎŝłAł\Ă݂łB

Lua 5.3.0̕Wݒł́AZdouble,Zlong longŏ܂B
RpCɓ̃V{`ĂƁAZƐŽ^ς鎖o܂B
V{uLUA_USE_C89v`ĂƁAZdouble,Zintŏ܂B
V{uLUA_32BITSv`ĂƁAZfloat,Zintŏ܂B
̐ݒłAxvĂ݂܂B

ʂ͂Ȃ܂B

	LUA_USE_C89

	       [] [ms]
	C(int)      168      175
	C(flt)      168      991
	C(dbl)      168     3978
	Lua         168     3253

	LUA_32BITS

	       [] [ms]
	C(int)      168      175
	C(flt)      168      991
	C(dbl)      168     3978
	Lua         168     2990

ǑʂɊrׂāALUA_USE_C8952%̍ALUA_32BITS56%̍ɂȂ܂B

ƂŁALUA_USE_C89LUA_32BITSőxႤ̂͂Ȃł傤B
ŹAǂintōŝŁAႢ͖͂łB
w2`1000͈̔͂ɂf̐x߂XNvgɂ́AꌩAZɂȂӏłB
ǂƁA]Z(%)LẢӏZŏ̂Ǝv܂B
LUA_USE_C89łdoubleCLUA_32BITSłfloatŏÄႢxɂȂ̂Ǝv܂B

P/ECES1C33209̂悤ȁAgݍݗp32rbg}CRł́AƁALUA_32BITSŎĝK؂Ȃ̂ł傤ˁB
Q[prȂ΁AZfloat,ZintővłB(float͂ƐSȂꍇL܂c)
ł܂́ALua 5.3.0̕Wݒ̂܂܁AZdouble,Zlong longŎgĂ݂悤Ǝv܂B
܂long long𑽗p邱Ƃ͖̂ŁA64rbgZ[`̓쌟؂ǂ@łB

==================
Sun Jan 25 2015
Naoyuki Sawa
nsawa@piece-me.org
==================
