![]() |

Çäðàâñòâóéòå, ãîñòü ( Âõîä | Ðåãèñòðàöèÿ )
![]() ![]() |
![]() |
![]()
Ñîîáùåíèå
#1
|
|
![]() Âåòåðàí êîíôåðåíöèè ![]() ![]() ![]() ![]() ![]() Ãðóïïà: Ïîëüçîâàòåëü Ñîîáùåíèé: 1239 Ðåãèñòðàöèÿ: 27.02.2009 Èç: Moscow Ïîëüçîâàòåëü ¹: 9144 ![]() |
Åñòü èíòåðåñíûé ìàíóàëü÷èê Actionscript 3.0 and Performance Tuning
 íåì íåñêîëüêî èíòåðåñíûõ êàðòèíîê: ![]() ×òî îáîçíà÷àþò áóêâû íà æåëòûõ ïëàøêàõ, òàê è íå äîãíàë ![]() Èëè âîò åùå: ![]() Íå ïîéìó ÷òî-òî êàê îäíîâðåìåííî ðàíòàéìîì óïðàâëÿåò è èíòåðïðåòàòîð è íåêèé JIT êîìïèëÿòîð??? add: ïî-õîäó êàðòèíêè íàïðÿìóþ âèæó òîëüêî ÿ? Êàê èõ âñòàâèòü ñ ëîêàëüíîãî êîìïà, ÷òîáû áûëî âèäíî âñåì? add: Just-in-time compilation (JIT) (òàêæå èçâåñòíà êàê dynamic translation) — êîìïèëÿöèÿ «íà ëåòó» — ýòî òåõíîëîãèÿ óâåëè÷åíèÿ ïðîèçâîäèòåëüíîñòè ïðîãðàììíûõ ñèñòåì, èñïîëüçóþùèõ áàéò-êîä. MIR: Macromedia Intermediate Representation - ìåæïëàòôîðìåííàÿ (àáñòðàêòíàÿ) ÷àñòü äâèæêà JIT Machine Code (MD) Generation - êîíêðåòíàÿ (çàêëþ÷èòåëüíàÿ) ÷àñòü äâèæêà JIT ïîä êîíêðåòíóþ ïëàòôîðìó (x86, PowerPC, ARM) Íàñêîëüêî ÿ ïîíÿë, äåëî îáñòîèò òàê: Âåñü êîä íà óðîâíå êëàññà ðàçáèðàåòñÿ íà äâå ïîëîâèíû: 1) Ñîçäàåòñÿ îñîáûé ìåòîä - Èíèöèàëèçàòîð êëàññà, êîòîðûé âêëþ÷àåò â ñåáÿ íåêèå ôóíêöèè èíèöèàëèçàöèè ($init, $cinit) - òàêèå êàê ñòàòè÷åñêèå îïðåäåëåíèÿ, êîä íå îòíîñÿùèéñÿ ê ïåðåìåííûì è ìåòîäàì êëàññà. Èíèöèàëèçàòîð êëàññà âûïîëíÿåòñÿ ñðàçó ïîñëå îïðåäåëåíèÿ êëàññà è âñåãî ÎÄÈÍ ðàç. Îñíîâíàÿ îñîáåííîñòü - áàéò-êîä èñïîëíÿåòñÿ â ðåæèìå èíòåðïðåòàöèè, ò.å. áåç ó÷àñòèÿ JIT, ò.å. ìåäëåííî. 2) Êîä ñâîéñòâ è ìåòîäîâ âòîðè÷íî êîìïèëèðóåòñÿ è îáðàáàòûâàåòñÿ ÷åðåç JIT, ò.å. äîâîëüíî áûñòðî. Ñêîðåå âñåãî êîä äèíàìè÷åñêèõ êëàññîâ òàêæå íå ñïîñîáåí âûïîëíÿòüñÿ JIT è ïîòîìó èñïîëíÿåòñÿ â ðåæèìå îáû÷íîé èíòåðïðåòàöèè. Âîçìîæíî, ÷òî íåòèïèçèðîâàííûé êîä òàêæå ðàñïðåäåëÿåòñÿ íà 32-áèòíûå ÷àñòè è èñïîëíÿåòñÿ òîëüêî èíòåðïðåòàòîðîì - ýòî îáúÿñíèëî áû çàìåäëåíèå êîäà áåç òèïèçàöèè, ïî ñðàâíåíèþ ñ òî÷íî òàêèì æå êîäîì, íî ñ òèïèçàöèåé. Ñîîáùåíèå îòðåäàêòèðîâàë chingachgoog - 9.06.2009 - 14:18 -------------------- |
|
|
![]()
Ñîîáùåíèå
#2
|
|
Âåòåðàí êîíôåðåíöèè ![]() ![]() ![]() ![]() ![]() Ãðóïïà: Flash Zone Team Ñîîáùåíèé: 4988 Ðåãèñòðàöèÿ: 10.03.2005 Èç: Êèåâ Ïîëüçîâàòåëü ¹: 5 ![]() |
Öèòàòà ïî-õîäó êàðòèíêè íàïðÿìóþ âèæó òîëüêî ÿ? Êàê èõ âñòàâèòü ñ ëîêàëüíîãî êîìïà, ÷òîáû áûëî âèäíî âñåì? chingachgoog, íå ïåðåæèâàé, êàðòèíêè âèäÿò âñå. ×òîáû êàðòèíêè áûëè âèäíû âñåì ó÷àñòíèêàì ôîðóìà, íóæíî èëè çàêà÷èâàòü èõ íà ôîðóì (êàê ýòî òû ñåé÷àñ ñäåëàë), èëè æå ðàçìåùàòü íà õîñòèíãàõ èçîáðàæåíèé è â ïîñòå óêàçûâàòü íà íèõ ïðÿìóþ ññûëêó. -------------------- Best wishes & regards,
MustLive Àäìèíèñòðàòîð ñàéòà http://mlfun.org.ua |
|
|
![]()
Ñîîáùåíèå
#3
|
|
![]() Âåòåðàí êîíôåðåíöèè ![]() ![]() ![]() ![]() ![]() Ãðóïïà: Ïîëüçîâàòåëü Ñîîáùåíèé: 1239 Ðåãèñòðàöèÿ: 27.02.2009 Èç: Moscow Ïîëüçîâàòåëü ¹: 9144 ![]() |
chingachgoog, íå ïåðåæèâàé, êàðòèíêè âèäÿò âñå. Ïîíÿë. ß çàõîäèë ñ äðóãîãî êîìïà êàê ãîñòü è â ýòîì ñëó÷àå êàðòèíêè âèäíû íå áûëè. Êàê òîëüêî àâòîðèçîâàëñÿ - âñå ñòàëî âèäíî. -------------------- |
|
|
![]()
Ñîîáùåíèå
#4
|
|
![]() Âåòåðàí êîíôåðåíöèè ![]() ![]() ![]() ![]() ![]() Ãðóïïà: Ïîëüçîâàòåëü Ñîîáùåíèé: 1239 Ðåãèñòðàöèÿ: 27.02.2009 Èç: Moscow Ïîëüçîâàòåëü ¹: 9144 ![]() |
Íàøåë â ðóêîâîäñòâå àäîáà flash_as3_programming.pdf íåêîòîðûå ïîÿñíåíèÿ.
![]() Èòàê ýòî ñõåìà äëÿ êîäà Êîä class A {} Ò.å. áóêâà À - ýòî íàçâàíèå êëàññà C - Class T - traits (ñâîéñòâà) P - prototype O - íå ÿñíî. Ìîæíî ïðåäïîëîæèòü, ÷òî ýòî ïðîñòî Object - ïðåäåëüíûé ðîäèòåëüñêèé îáúåêò îò êîòîðîãî âñå íàñëåäóåòñÿ. Èòàê, ÷òî âèäíî èç ñõåìû. Êîãäà ìû ñîçäàåì êëàññ À, òî ñîçäàþòñÿ 4 îáúåêòà. Äâà èç íèõ î÷åâèäíû (è ê íèì ìîæíî îáðàùàòüñÿ íàïðÿìóþ): 1) Ñà - îáúåêò êëàññà À (îáðàùàòüñÿ ê íåìó ìîæíî íàïðÿìóþ: À) 2) Pà - îáúåêò ïðîòîòèïà êëàññà À (îáðàùàòüñÿ ÷åðåç À.prototype) Äâà äðóãèõ íåî÷åâèäíû è ïðåäñòàâëÿþò ñîáîé âíóòðåííþþ ðåàëèçàöèþ ìîäåëè "íà íàñòîÿùèõ êëàññîâ" AVM2: 1) Òñà - îáúåêò ïðèçíàêîâ êëàññà. Ýòî âíóòðåííèé òèï êëàññà. Îí õðàíèò ñòàòè÷åñêèå ñâîéñòâà êëàññà. 2) Òà - îáúåêò ïðèçíàêîâ ýêçåìïëÿðà. Ñþäà çàïèñûâàþòñÿ ñâîéñòâà êëàññà è ñþäà êîïèðóþòñÿ ñâîéñòâà (èëè óêàçàòåëè íà íèõ) ñóïåðêëàññîâ. Ðàçðàáîò÷èêè íå ãàðàíòèðóþò, ÷òî ïîñëåäíèå äâà îáúåêòà ìîãóò ñîõðàíèòüñÿ â äàëüíåéøèõ âåðñèÿõ. Öåïî÷êà âèäèìîñòè íàñëåäóåìûõ ñâîéñòâ ñíà÷àëà èäåò â Òà è ëèøü ïîòîì â Pà. -------------------- |
|
|
![]()
Ñîîáùåíèå
#5
|
|
![]() Âåòåðàí êîíôåðåíöèè ![]() ![]() ![]() ![]() ![]() Ãðóïïà: Ïîëüçîâàòåëü Ñîîáùåíèé: 1239 Ðåãèñòðàöèÿ: 27.02.2009 Èç: Moscow Ïîëüçîâàòåëü ¹: 9144 ![]() |
Íåñêîëüêî ïîëåçíûõ ññûëîê.
Íåìíîãî íå ïî òåìå íàñëåäîâàíèÿ, íî çàòî ïî òåìå ÐÅÀËÜÍÎÃÎ ìåõàíèçìà ðàáîòû ÔÏ è AVM2: Íåèçâåñòíûå è ïîëåçíûå íàñòðîéêè äåáàã ÔÏ: http://jpauclair.net/2010/02/10/mmcfg-treasure/ Adobe® Flash® Player 10 Administration Guide http://www.adobe.com/devnet/flashplayer/ar...admin_guide.pdf ActionScript Virtual Machine 2 (AVM2) Overview http://www.adobe.com/devnet/actionscript/a...vm2overview.pdf Ðàáîòà ñ âèðòóàëüíîé ïàìÿòüþ (îïêîäû, à-ëÿ àëõèìèÿ) http://www.ncannasse.fr/blog/virtual_memory_api?lang=en -------------------- |
|
|
![]()
Ñîîáùåíèå
#6
|
|
![]() Âåòåðàí êîíôåðåíöèè ![]() ![]() ![]() ![]() ![]() Ãðóïïà: Ïîëüçîâàòåëü Ñîîáùåíèé: 1239 Ðåãèñòðàöèÿ: 27.02.2009 Èç: Moscow Ïîëüçîâàòåëü ¹: 9144 ![]() |
Âîîáùå äæèòòåð ðàáîòàåò íåóëîâèìî òóãî è íåïðåäñêàçóåìî.
Âîò òóò ðàñïèñàíû íåêîòîðûå ðåçóëüòàòû ïðî ðàçíèöó êîìïèëÿöèè ìåæäó obj={} è obj=new Object Òàê êàê áàéòêîä ó {} êîðî÷å, òî ïîíÿòíî, ÷òî â ðåæèìå èíòåðïðåòàöèè {} âûïîëíÿåòñÿ øóñòðåå. Íî àâòîðû óòâåðæäàëè, ÷òî â äæèòòåðå áûñòðåå âûïîëíÿåòñÿ new Object ! Ïðîâåðèë ÿ (CS3) è ðåçóëüòàòû ó ìåíÿ ñòîéêî îäèíàêîâûå: {} ÂÑÅÃÄÀ ÁÛÑÒÐÅÅ, à âûçîâ ÷åðåç ôóíêöèþ ëîãè÷íî åùå áîëåå çàìåäëÿåò ïðîöåññ. Ïîïðîáîâàë ÿ ñäåëàòü êàê áû áåç äæèòòåðà - ðåçóëüòàòû âûøëè åùå áîëåå èíòåðåñíûå: Êîä package { import flash.utils.getTimer public class SpeedCheck { public var t1:int=getInterpretationCurley() public var t2:int=getInterpretationNew() public function SpeedCheck(){ } public function curley() { var obj:Object var time:int=getTimer() for (var i:int = 0; i < 1000000; i++) { obj = {} } return (getTimer()-time) } public function newObject() { var obj:Object var time:int=getTimer() for (var i:int = 0; i < 1000000; i++) { obj = new Object } return (getTimer()-time) } } } import flash.utils.getTimer function getInterpretationCurley():int{ var obj:Object var time:int=getTimer() for (var i:int = 0; i < 1000000; i++) { obj = {} } return (getTimer()-time) } function getInterpretationNew():int{ var obj:Object var time:int=getTimer() for (var i:int = 0; i < 1000000; i++) { obj = new Object } return (getTimer()-time) } Âûçûâàòü òàê: Êîä var a:SpeedCheck=new SpeedCheck() trace("interpret {} "+a.t1) // 515 trace("interpret new "+a.t1) // 515 trace("JIT {} "+a.curley()) // 500 trace("JIT new "+a.newObject()) // 731 Ïðàâäà ÿ íå óâåðåí, ÷òî èíòåðïðåòèðóåìàÿ ÷àñòü (îáúÿâëåíèå êëàññà) íå èñïîëüçóåò JIT-êîìïèëèðóåìóþ ÷àñòü îò âíåøíèõ ôóíêöèé. Ýòî åùå òîò âîïðîñ... -------------------- |
|
|
![]()
Ñîîáùåíèå
#7
|
|
Íîâè÷îê ![]() Ãðóïïà: Íîâè÷îê Ñîîáùåíèé: 2 Ðåãèñòðàöèÿ: 23.07.2011 Ïîëüçîâàòåëü ¹: 10600 ![]() |
Íàâåðíîå, äîëæíî áûòü òàê:
Êîä var a:SpeedCheck=new SpeedCheck() trace("interpret {} "+a.t1) // 312 // a.t2 instead of a.t1 trace("interpret new "+a.t2) // 218 trace("JIT {} "+a.curley()) // 312 trace("JIT new "+a.newObject()) // 216  êîììåíòàðèÿõ óêàçàë âðåìÿ, êîòîðîå ïîëó÷èëîñü ó ìåíÿ. Êñòàòè, çàïóñêàë â Flash Player 11.0.1.60 Ñîîáùåíèå îòðåäàêòèðîâàë Moonlight - 26.07.2011 - 14:57 |
|
|
![]()
Ñîîáùåíèå
#8
|
|
![]() Âåòåðàí êîíôåðåíöèè ![]() ![]() ![]() ![]() ![]() Ãðóïïà: Ïîëüçîâàòåëü Ñîîáùåíèé: 1239 Ðåãèñòðàöèÿ: 27.02.2009 Èç: Moscow Ïîëüçîâàòåëü ¹: 9144 ![]() |
Íàâåðíîå, äîëæíî áûòü òàê: Êîä // a.t2 instead of a.t1 Äà-äà, ðàçóìååòñÿ. ×óòü èçìåíèë êîä, ÷òîáû îòñå÷ü âëèÿíèå òðåéñà è âîîáùå äåáàæíîãî ïëååðà (tf - òåêñòîâîå ïîëå íà ñòåéäæå): Êîä var a:SpeedCheck=new SpeedCheck() var S:String="" S+="interpret {} "+a.t1+"\rinterpret new "+a.t2+"\rJIT {} "+a.curley()+"\rJIT new "+a.newObject() tf.text=flash.system.Capabilities.playerType+" "+flash.system.Capabilities.version+" isDebugger="+flash.system.Capabilities.isDebugger+"\r"+S È âîò ÷òî ó ìåíÿ âûøëî: Ïðè çàïóñêå â SC4: External WIN 10,0,2,54 isDebugger=true interpret {} 515 interpret new 668 JIT {} 508 JIT new 655 Ïðè çàïóñêå ñ ðàáî÷åãî ñòîëà: StandAlone WIN 10,0,2,54 isDebugger=false interpret {} 472 interpret new 647 JIT {} 473 JIT new 650 Ïðè äðàãýíäðîïå â 6-é IE: (îòêóäà-òî äåáàã-ÔÏ òàì óñòàíîâèëñÿ?) ActiveX WIN 10,2,153,1 isDebugger=true interpret {} 548 interpret new 310 JIT {} 563 JIT new 337 Ïðè äðàãýíäðîïå â Õðîì: PlugIn WIN 10,3,181,35 isDebugger=false interpret {} 318 interpret new 189 JIT {} 318 JIT new 190 Êðàéíå çàáàâíûå ðåçóëüòàòû... Ñîîáùåíèå îòðåäàêòèðîâàë chingachgoog - 27.07.2011 - 13:17 -------------------- |
|
|
![]() ![]() |
![]() |
Òåêñòîâàÿ âåðñèÿ | Ñåé÷àñ: 8.06.2016 - 16:02 |