ç§ã¯æè¿ãã²ããã¯ã¹ã«é¢ããã¯ãŒã¯ã·ã§ããã§Pythonããã°ã©ãã³ã°ã玹ä»ããŸããã ãã¥ãŒããªã¢ã«ã§ã¯ãããŒãããã¯ã€ã³ã¿ãŒãã§ã€ã¹ã䜿çšããéåžžã«å¥œè©ã§ããïŒããããšãããããŸãïŒïŒã ã«ãŒãã«ã€ããŠã®è°è«ã®äžã§ãç§ã¯çåŸãã¡ã«forã«ãŒãã®äŸãwhileã«ãŒãã«å€æããããã«é Œã¿ãŸããã ãã®éçšã§ãå€ãã®åŠçãç¡éã«ãŒããäœæããŸããã ãããã®åŠçã®äœäººãã«ãšã£ãŠãããã¯Firefoxãã¯ã©ãã·ã¥ãããŸããã ä¿®æ£ã¯ãããŒãããã¯ãµãŒããŒã匷å¶çµäºãããã©ãŠã¶ãŒã匷å¶çµäºããããšã§ããã åŠçå šå¡ãUbuntuããŒã¹ã®ä»®æ³ãã·ã³ãšFirefoxããã©ãŠã¶ãšããŠäœ¿çšããŠããŸããã ããã圹ã«ç«ã£ãããã·ã¹ãã ã®è©³çŽ°ãååŸããããä»®æ³ãã·ã³ã®ã³ããŒã§ãã®åäœãåçŸã§ãããã©ããã調æ»ãããã§ããŸãã
äžãäžããã©ãŠã¶ãã¯ã©ãã·ã¥ãããªãã£ããã®ã§ã¯ãªããã¯ã©ãã·ã¥ãããã®ãåºåãçæããã§ããããïŒ
ïŒ1ã€ã®ã¡ãã¥ãŒã«killã«ãŒãã«ãå¿
èŠã§ãïŒ
ããããããµãŒããŒsiã«ãŒãã«ã匷å¶çµäºããã»ãã¥ãªãã£ãªããã€ã³ã¿ã€ã ã¢ãŠããé·æéããžãŒç¶æ ã®ãŸãŸã§ããããããã³ããšã³ãã倧éã®å ¥åãåä¿¡ããå¯èœæ§ããããŸã
ããã«ã¯2ã€ã®åé¡ããããšæããŸãã
@Carreauåºåã¯ãããŸããã§ãã
@takluyverã«ãŒãã«ã¡ãã¥ãŒãå¿çããŸããã§ããã ããã¯ãå°å·ãããŠããã«ãŒããšå°å·ãããŠããªãã«ãŒãã§çºçããŸãã
ã«ãŒããæ©èœããªãäŸãæããŠãã ããã
2013幎1æ13æ¥16:11ããããšã«ãã¯ããã«ã[email protected]ã¯æ¬¡ã®ããã«æžããŠããŸãã
@Carreauhttps ïŒ//github.com/CarreauåºåããããŸããã§ãã
@takluyverhttps ïŒ//github.com/takluyverã«ãŒãã«ã¡ãã¥ãŒã¯ããã§ã¯ãããŸããã§ãã
ã¬ã¹ãã³ã·ãã ããã¯ãå°å·äžã®ã«ãŒããšãã®ã«ãŒãã§çºçããŸã
å°å·ããŠããŸããã§ãããâ
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGi tHubhttpsïŒ//github.com/ipython/ipython/issues/2781#issuecomment-12195606ã§è¡šç€ºããŠãã ããã
åèªããäºãã®ã¢ãã°ã©ã ã§ã¯ãªãå Žåã®ãã€ãŒã/æãããã¢ãã°ã©ã ã¢ã«ãŽãªãºã
from random import shuffle
word1 = list("quietx")
word2 = list("quite")
while word1 != word2:
shuffle(word1)
ãã¹ãããã°ããã§ãããFirefoxãšUbuntuã§åé¡ãªãäžæã§ããŸãã ã·ã¹ãã ã«ç¢ºå®ã«è€è£œã§ããŸããïŒ
ã·ã¹ãã ã«è€è£œã§ããŸããã åé¡ãçºçãããŠãŒã¶ãŒã远跡ããã·ã¹ãã ã§åå®è¡ããŸãã ã¯ãŒã¯ã·ã§ããã»ãã·ã§ã³ã¯ææ¥ã®æã«åéãããŸã-ã¯ãŒã¯ã·ã§ããã¯ãšãŒãããã§è¡ãããä»æ¥ã¯äŒã¿ã§ã-ã§ããããããã«æ»ãã«ã¯å°ãæéãããããŸãã
ç§ã¯ããããããã¹ãããç«å Žã«ãªããã§ãã©ããŒã¢ããããããšãã§ããŸããã§ãã
ã¯ãŒã¯ã·ã§ããã ç§ã¯åé¡ãåçŸã§ãããä»ã®èª°ãåçŸã§ããªãããšãèãããšã
ããããŸããã«ãã§ãŒã¯ã§æžããŸãããã
è¿ éãªå¯Ÿå¿ã«æ¹ããŠæè¬ããããŸãããè¿·æããããããŸããããšããè©«ã³ç³ãäžããŸãã
2013幎1æ13æ¥åå9æ57åãThomas [email protected]æžã蟌ã¿ïŒ
ãã¹ãããã°ããã§ãããFirefoxã§åé¡ãªãäžæã§ããŸã
ïŒUbuntuã ã·ã¹ãã ã«ç¢ºå®ã«è€è£œã§ããŸããïŒâ
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGi tHubhttpsïŒ//github.com/ipython/ipython/issues/2781#issuecomment-12196271ã§è¡šç€ºããŠãã ããã
å¿é ãªãã ãã°ãåçŸããæ¹æ³ãèŠã€ããããé æ ®ãªãåéããŠãã ããã
ç§ã¯ãããChromeã®IPythonããŒãããã¯ã§åžžã«ååŸããŠããŸãïŒFirefoxã§ãã¹ããããšããããæåãããŸãããã€ãŸããã¯ã©ãã·ã¥ããŸããïŒã é »ç¹ã«å°å·ãããç¡éã«ãŒãããããšããã€ã§ãçºçãããšæããŸãã ããã¯ç§ã«ãšã£ãŠåé¡ã§ãããããã°ããããã«printã¹ããŒãã¡ã³ããé »ç¹ã«å ¥åããŠããããã§ãããã®å Žåãã¯ã©ãã·ã¥ãåå ã§ãã°ãä¿®æ£ããã¯ãã ã£ãã³ãŒãã倱ãããŸãã
圌女ã¯ç§ããããã¯ã©ãã·ã¥ãããããã«äœ¿çšããã³ãŒãã§ãïŒ
numpyãnpãšããŠã€ã³ããŒãããŸã
x = np.arrayïŒ[0,1,2,3,4]ïŒ
it = np.nditerïŒxãflags = ['f_index']ïŒ
it.finishedã§ã¯ãããŸãããïŒ
it.indexãå°å·ããŸã
ããã¯ç§ã«ãèµ·ãããŸã...
æåã«ãã©ãŠã¶ãå¿çããªããªããåŸã§ã·ã¹ãã å
šäœããã³ã°ããŸãã ç§ã¯ããŒããªã»ããã匷ããããŠããŸãã
ç§ã¯Ubuntuãxfceãã¹ã¯ããã/ Firefoxã§äœ¿çšããŠããŸãã
ããã圹ã«ç«ã£ãããç§ã¯ããªãããããä¿®æ£ããããã«å¿
èŠãšãããããããªãä»ã®è©³çŽ°ãå
±æããããšæããŸã...
@minrk
ãã®åé¡ã¯ãŸã ããããã§ãïŒ
ã«ãŒãã«ã¡ãã¥ãŒãããå²ã蟌ã¿ããŸãã¯ãåèµ·åããå®è¡ã§ããŸããããŸã£ããå¹æããããŸããã§ããã å®è¡äžã®ã¢ã€ã³ã³ã¯ãŸã é»ãããŒã«ãšããŠè¡šç€ºãããŸãã
ã³ã³ãã¥ãŒã¿ãåèµ·åããŠããããŒãããã¯ãããäžåºŠã¯ãªãã¯ãããšãæ°žä¹ ã«ã«ãŒãããŸãã
ipython2.2.0ãã€ã³ã¹ããŒã«ãããMacBookã䜿çšããŠããŸãã
ç§ããã®åé¡ãæ±ããŠããŸããïŒãã©ãŠã¶ã§ipythonããŒãããã¯ããã³ã°ããå²ã蟌ã¿ã«ãŒãã«ã䜿çšããŠå埩ã§ããŸããã ã«ãŒããšã©ãŒã«å ããŠãããã¯ãã³ã°ããŠããããã»ã¹ã§çºçããããã§ããããšãã°ãé¢æ°å ã®ã€ã³ã¿ãŒãããã¯ãšãªããããã¯ãŒã¯äžã®çç±ã§ãã³ã°ããŠããå Žåãªã©ã§ãã
ç§ã®è³ªåã¯ãã³ãã³ãã©ã€ã³ããåºç€ãšãªãã«ãŒãã«ã«ã¢ã¯ã»ã¹ããæ¹æ³ã¯ãããŸããïŒ ã¿ãŒããã«ããipythonããŒãããã¯ãèµ·åããŸããçŸæç¹ã§ã®è§£æ±ºçã¯ããã®ã¿ãŒããã«ãããŒããŒãã§äžæããããšã§ããããã«ãããã«ãŒãã«ãå®å šã«ã·ã£ããããŠã³ãããŸãã
ç§ã«ããã®é倧ãªåé¡ããããŸãã 確ãã«ã«ãŒãã«é¢ä¿ããŠããããã§ãã ããã«ãããé·ãã·ãã¥ã¬ãŒã·ã§ã³ãããŒã¿åæãå®è¡ã§ããªããªããŸããã€ãŸããç§ã¯å°æããŠããŸã...
é¢é£ããŠãããã©ããã¯ããããŸãããããã³ã°ãããšããã€ããŒã¹ã¬ããã£ã³ã°ã1ã€ã®CPUã«æããããŸããŠåäœããŠããããã«èŠããããšã«æ°ä»ããŸããã ããšãã°ã htopã䜿çšãããšããã確èªã§ããŸãã æåã¯ããã€ããŒã¹ã¬ããã£ã³ã°ïŒnumpy-> BLASã©ã€ãã©ãªãç§ã®ãã·ã³ã§æªçšããŠããïŒãã¯ã©ãã·ã¥ãããã®åŸå šäœãéåžžã«é ããªãããã«èŠããŸãããããã®åŸãäžæããããšããŸããããéããªãã£ãã®ã§ã IPythonã«ãŒãã«ãã¹ã¿ãã¯ããŠããããšã«æ°ã¥ããŸããã
ãã®åé¡ã¯ã次ã®å Žåã«ã¯çºçããŸããã§ããã
ç§ã®ç¥èã«åºã¥ãæšæž¬ã¯æ¬¡ã®ãšããã§ãã
åé¡ãçºçããããWebã€ã³ã¿ãŒãã§ã€ã¹å ããã«ãŒãã«ãåèµ·åããŠãå®è¡ããŠããããšãããçŽããŸã...
ç·šéïŒç§ããããåçŸããã®ã¯é£ããã§ãããBLASã䜿çšããªãå Žåãããšãã°numpyã®ãããç©ã䜿çšããªãå Žåãåé¡ã¯çºçããŸããããããã«ããã€ãã®ãã¹ããå®è¡ããå¿ èŠãããããšã«æ°ä»ããŸããããã確èªããŸãã
ãŸãããã®åé¡ã¯éåžžã«é »ç¹ã«çºçãã解決ããã®ã¯å°é£ã§ããã«ãŒãã«ã§ã®åŠçã«æéããããããŒã¿ã倧éã«ããå Žåããã¹ãŠã匷å¶çµäºããŠåŒ·å¶çã«åèµ·åããã®ã¯éåžžã«å°é£ã§ãã ééããªãæ¶ç©ºã®ãã°ã§ã¯ãããŸãã:)
OSX + chromeã§ããã®åé¡ãçºçããŸãã
@minrk ãããã¯åéãã䟡å€ããããšæããŸãã æ°ããåé¡ãäœæããããšãªãåéããã®ã«ååãªç¹æš©ããããŸããã
CLIããã¯ãåæ¢ãã¿ã³ãæŒããšäœããè¡ãããŠããããã«èŠããŸãããããŒãããã¯ã¯å®å šã«å¿çããŸããã
[I 15:26:22.224 NotebookApp] Kernel interrupted: edee0497-b340-43fd-be77-1ad67e5170ee
[I 15:26:32.197 NotebookApp] Kernel interrupted: edee0497-b340-43fd-be77-1ad67e5170ee
[I 15:26:42.688 NotebookApp] Saving file at /Untitled.ipynb
[I 15:27:30.993 NotebookApp] Kernel interrupted: edee0497-b340-43fd-be77-1ad67e5170ee
[I 15:27:35.605 NotebookApp] Kernel interrupted: edee0497-b340-43fd-be77-1ad67e5170ee
[I 15:28:43.999 NotebookApp] Saving file at /Untitled.ipynb
[I 15:29:28.038 NotebookApp] Kernel interrupted: edee0497-b340-43fd-be77-1ad67e5170ee
å°ãªããšãäžéšã®ã·ã¹ãã ã§ã¯ããã®åé¡ãåçŸããç°¡åãªããŒãããã¯ãèŠã€ããå¿ èŠããããšæããŸãã ããããªããšãããããä¿®æ£ã§ããŸããã
ç§ããã®åé¡ãèŠãŠããŸãã
å°ãªããšãäžéšã®ã·ã¹ãã ã§ã¯ããã®åé¡ãåçŸããç°¡åãªããŒãããã¯ãèŠã€ããå¿ èŠããããšæããŸãã
while True:
print "foo"
ããã«ãããFirefoxã¯100ïŒ CPUã䜿çšãããããªãæ¹æ³ã圢åŒã§ãå¿çããªããªããŸãã FirefoxãšIPythonããã»ã¹ã匷å¶çµäºããããšããã·ã¹ãã ãå ã«æ»ãå¯äžã®æ¹æ³ã§ãã
Ipython 3.0.0
Firefox 42.0
Linux3.13.0-24-ãžã§ããªãã¯
ã§åçŸã§ããŸã
ipython 3.2.0
Python 2.7.10
ChromeããŒãžã§ã³46.0.2490.86ïŒ64ãããïŒ
OSX 10.10.5
ç§ã«ãšã£ãŠãããªã倧ããªè¿·æã§ãã ãã®åé¡ã®ããã«ãChromeãšäžç·ã«ããŒãããã¯ãµãŒããŒå šäœã匷å¶çµäºããªããã°ãªããªãããšããããããŸãã ã«ãŒãã«ã®å²ã蟌ã¿ãã¿ã³ãã¯ãªãã¯ãããšãã¯ãªãã¯ããããã®ããã«ãã€ã©ã€ã衚瀺ãããŸãããã©ããã§åæ¢ã®ã¡ãã»ãŒãžã衚瀺ãããŸããã
ç§ã®æåã®å°è±¡ã¯ãChromeã®ããã¹ãã¬ã³ããªã³ã°ãšã³ãžã³ã«åé¡ããããšããããšã§ããããããã©ã®ããã«æ©èœãããã«ã€ããŠã¯ã»ãšãã©ããããŸããã
é床äœäžã®ãã1ã€ã®äŸã¯ãæ¯èŒç倧ããªmatplotlibãã¹ã¯ããŒã«ããåŸã«ãã©ã¢ã°ã©ãŠã³ãã«å°éããå Žåã§ãã ããŒãããã¯å šäœã4ã5ç§ééåžžã«äžå®å®ã«ãªããŸãã
䟡å€ã®ããããšãšããŠãç§ã¯ããªãé äžãªãã·ã³ã䜿çšããŠããã®ã§ãjupyterãç§ã®ãã·ã³å šäœãã²ããŸããããšãã§ããã®ã¯ç¹ã«å¥åŠã§ãã
9/10ãããã¯å¶ç¶ã«èµ·ããã®ã§ãããããŠãŒã¶ãŒãšã©ãŒãã°ãšåŒã¶ã»ã©ç°¡åã§ã¯ãããŸããã
ãã®åé¡ãçºçããã°ããã§ãïŒãŸãã¯ãå°ãªããšãäžèšã®ãããã¡ã€ã«ã«é©åããŸãïŒã ãŠã£ã³ããŠãå®æçã«å¿çãããããšã¯ã§ããŸããã§ããããããŒãžå šäœã®éåžžã«é ãã¯ãªããããŒãã³ããŒãå®è¡ã§ãããããæè¿ã®ã³ãŒãå€æŽãä¿æããããšãã§ããŸããã
åé¡ã®è§£æ±ºçã§ã¯ãããŸãããããã®çµæã軜æžããããã®æœåšçãªæ¹æ³ã§ãã
Linux MintïŒ18.0ïŒãšfirefoxãå®è¡ããŠãããšãããä»æ¥ãéå»ãåãåé¡ãçºçããŸããã ããã¯éåžžã«åçŽãªcountïŒïŒãžã§ãã¬ãŒã¿ãŒã§ããããç§ã¯__getitem__ãããããã°ãããæ¹æ³ã§ããŒã«å°å·ãèšå®ããŸããã
ããã±ãŒãžã®ææ°ããŒãžã§ã³ã¯ãåºåã¹ããããªã³ã°ãå®è£ ããŠããŸããããã«ããã倧éã®åºåã«ãã£ãŠãã©ãŠã¶ãŒã®é床ãäœäžããåé¡ã軜æžãããŸãã
ãã®åé¡ã¯IPythonèªäœã«ã¯ãªããããçµäºããŸããããã§ãåé¡ããããé¢é£æ§ãããå Žåã¯ãé©åãªãªããžããªã§éãå¿ èŠããããŸãã ããã«ãããIPythonãªããžããªã§éããŠããåé¡ã®æ°ãå¶åŸ¡ã§ããããã«ãªããŸãã
ã³ã¡ã³ããç¶ããããå¿ èŠã«å¿ããŠåéããŠãã ããã
ããããšãã
@Carreau ãææ¡ããããªããžããªã¯ãããŸããïŒãŸãã¯ãããã¯ããŒãããã¯ã®åé¡ã远跡ãããå Žæã«æã¡è¶ãããŸããã§ãã...ïŒïŒ
ããã¯ãjupyter / notebookãŸãã¯jupyterlab / jupyterlabã®ããããã«ç§»è¡ããå¿ èŠããããŸãã ãããjupyterlabã«ã圱é¿ãäžããå Žåã¯ã2çªç®ã®ãã®ã§ãã
æãåèã«ãªãã³ã¡ã³ã
ããã«ãããFirefoxã¯100ïŒ CPUã䜿çšãããããªãæ¹æ³ã圢åŒã§ãå¿çããªããªããŸãã FirefoxãšIPythonããã»ã¹ã匷å¶çµäºããããšããã·ã¹ãã ãå ã«æ»ãå¯äžã®æ¹æ³ã§ãã
Ipython 3.0.0
Firefox 42.0
Linux3.13.0-24-ãžã§ããªãã¯