ãã®è¨äºã§ãé¡ã«ããã®ã¯CPUã¬ã¸ã¹ã¿ä¸ã®æ´æ°é¤ç®ã§ãã以ä¸ãåã«é¤ç®ã¨ãæ¸ãã¾ãã é¤ç®ã¯é常ã«é«ã³ã¹ããªæ¼ç®ãªãããã³ã³ãã¤ã©ã¯æé©åã«ãã£ã¦ãã§ããã ãæ´æ°é¤ç®ãå¥ã®è¨ç®ã«ç½®ãæãããã¨ãã¾ãã æé©åãã§ããå ´åã®ä¸ã¤ã¨ãã¦ãå²ãæ°ãå®æ°ã§ããå ´åãããã¾ããé ã®ããã³ã³ãã¤ã©ã¯ãé¤ç®ãä¹ç®ã¨ãããã·ããçãé§ä½¿ããæ¼ç®ã«ç½®ãæãã¾ãããã®è¨äºã§ã¯ããããã£ãæé©åã®èæ¯ã«ããçå±ãé¨åçã«è§£èª¬ãã¾ãã è¨ç®æ©ç°å¢ã¨ãã¦ã¯ã¢ãã³ãªx86 CPUãä»®å®ãã¾ãããããã£ã¦ã¬ã¸ã¹ã¿ã¯32/64ãããã§ãããè² æ°ã¯2ã®è£æ°è¡¨ç¾ã«ãªã£ã¦ãã¾ããããç¨åº¦ã¯ä»ã®å½ä»¤ã»ããã§ãéç¨ãã話ã«ãªã£ã¦ããããããã¾ããã ããããæ´æ°ã®é¤ç®ã¨ã¯ ããã°ã©ãã³ã°ã«ãããæ´æ°ã®é¤ç®ã®å®ç¾©ã«ã¤ãã¦ç¢ºèªãã¾ããæ´æ°$n$ãæ´æ°$d$ã§å²ãã¨ã $$ n = q \times d + r $$ ãæãç«ã¤ããã«é¤
Open-sourcing F14 for faster, more memory-efficient hash tables Hash tables provide a fast way to maintain a set of keys or map keys to values, even if the keys are objects, like strings. They are such a ubiquitous tool in computer science that even incremental improvements can have a large impact. The potential for optimization led to a proliferation of hash table implementations inside Facebook,
ãã®æ¬ã®æ¦è¦ ã³ã³ãã¥ã¼ã¿ã®ç®æ³ã«é¢ããã¢ã«ã´ãªãºã ã®å®ç³ï¼ã¬ããªãã¯ãå¯è½ãªéãåé²ããå®çªã®æ¸ãæå ã«ç½®ãã¦ããããå®ç¨çãªæ¬ã30å¹´å¼±ã®æãçµã¦æ°è£ æ¹è¨çã¨ãã¦ç»å ´ã§ãã å®è©ãããã ãã¦ããåºæ¬çãªå 容ã¯ãã®ã¾ã¾ã«ï¼æ代ã«ããããªããªã£ã¦ããé¨åã®ã¿æ¹è¨ããããããæ«é·ããæ顧ããã ããããã«ã¾ã¨ãç´ãã¾ããã â»æ¬æ¸ã¯ãCè¨èªã«ããææ°ã¢ã«ã´ãªãºã äºå ¸ãã®æ¹è¨çã§ãã ãããªæ¹ã«ãããã ä»äºã§Cè¨èªã使ãæ¹ ç¥ãããã¢ã«ã´ãªãºã ããã£ã¨å¼ãããæ¹ æ¬æ¸ã®ãµã³ãã« æ¬æ¸ã®ä¸é¨ãã¼ã¸ãï¼PDFã§ç¢ºèªãããã¨ãã§ãã¾ãã ãµã³ãã«PDFãã¡ã¤ã«ï¼739KBï¼ æ¬æ¸ã®ç´é¢ã¤ã¡ã¼ã¸ã¯æ¬¡ã®ã¨ããã§ããç»åãã¯ãªãã¯ãããã¨ã§æ¡å¤§ãã¦ç¢ºèªãããã¨ãã§ãã¾ãã å¤ã®äº¤æ / 誤ãæ¤åºç¬¦å· / ã¢ã«ã´ãªãºã / æå· / å®å®ãªçµå© / ç³åãã²ã¼ã 1 / ç³åãã²ã¼ã 2 / ç°æ§ä½ã®åé¡ /
åã«ä»¥ä¸ã®ãããªè¨äºãæ¸ãã¾ãããã大éã®ããã¹ãã§ã¯ãã¾ããããªãã£ãã®ã§æ°ãã«æ¸ãã¾ãã ãã¡ã¤ã«ããã©ã³ãã ã«Nè¡åãåºã(shufã³ãã³ã) - å¯ç©æ¯ç @Scaled_Wurm ä¸ã®è¨äºã§ã¯ããã¹ããã©ã³ãã ã«\(k\)è¡åãåºãããæ"shuf -n k"ã³ãã³ãã§ã©ã³ãã ã«ã·ã£ããã«ãã\(k\)è¡ãåãåºãã¦ãã¾ãã ã¨ãããé常ã«å¤§ããªããã¹ããã¡ã¤ã«ã«å¯¾ãã¦ä¸ã®ã³ãã³ããå®è¡ããã¨ãä¸åº¦ã«ãã¼ã¿ãå ¨é¨ã¡ã¢ãªã«èªã¿è¾¼ã¿å§ãã¦ããã®ãããããå¢ãã§ã¡ã¢ãªãæ¶è²»ãã¦ããã¾ãã(sort -Rã§ã) ããã§ã¡ã¢ãªããã¾ã使ããã«ã©ã³ãã ã«\(k\)è¡åãåºãæ¹æ³ã«ã¤ãã¦èª¿ã¹ã¾ãã ã¾ãåºæ¬çãªé復å æ½åºã®ã¢ã«ã´ãªãºã ã¯ä»¥ä¸ã®è¨äºã®çºå±ææ³ã¨ã追è¨ã®ãããã®è©±ãããããããã¨æãã¾ã é復å æ½åºã®é«éãã¤å®è£ ãç°¡åãªæ¹æ³ãèãã - ç¡ç ä¸è¶³ï¼ï¼ ãã®è¨äºã®è©±ãä¸åº¦å ¨é¨ã®è¦ç´ ã
é åã®å ¨ã¦ã®è¦ç´ ãçãããå¦ã mrkn é åã®å ¨ã¦ã®è¦ç´ ãçãããã¨ã¯ã©ã確èªãããè¯ããã ããã `ary.all? {|e| e == ary[0] }` ããã㪠usa ary.uniq.size == 1 mrkn ãªãã»ã© > uniq usa all?ã§ãããã¯å¼æ°ããéãããªäºæ ããã§ãaryãã§ããã¦ãã¤å ¨ç¶è¦ç´ ãçãããªãã£ããããã§ããªããã mrkn `ary.all? {|e| e.foo == ary[0].foo }` ã®å ´åã¯ã©ãã§ããããmap.uniq.size ãããã㪠usa all?ã¯å ¨ã¦çããæã«é ãããåºç¤ã§éãã¨ããã£ããéã mrkn 確ãã« > åºç¤ã§éãã¨ããã£ããéã usa ãã®è¾ºã¯äºæ³ãããéåã®å¾åã§å¤æãããããªãã§ããããã map.uniq.sizeã¯mapã®çµæã¨ãã¦ã®ä¸æé åãä½ããªãããã«ããã«ã¯ããã¼ã¨ En
3. ï°ã ã¼ã¢ã®æ³åã«å¾ã£ã¦éç©åè·¯ã®ãã©ã³ã¸ã¹ ã¿æ°ã¯å¹´ã åå¢ èæ¯ï¼1/4ï¼ 3 40th Anniversary of the Microprocessor https://newsroom.intel.com/press-kits/40th-anniversary-of-the-microprocessor/ 2011å¹´ï¼Core i7 3960X vs Intel 4004 35ä¸å 1971å¹´ï¼Intel 4004 ãã©ã³ã¸ã¹ã¿2300å 5. ï°ç¾å¨ã®ã³ã³ã·ã¥ã¼ãåãæä¸ä½ Intel Core i9 7980XEã¯2.6 GHzï¼18ã³ã¢ï¼512ãããã ã¯ãã«æ¼ç®å¨ï¼FMAã¦ãããï¼ã¤æè¼ âåç´ï¼2.6 GFLOPS âçæ³ï¼3.0 TFLOPS ï¼å精度ï¼1.5TFLOPSï¼ â¢ 2.6*18*16*2*2 ⢠ã¿ã¼ããã¼ã¹ããå¢å ããL2ãã£ãã·ã¥ï¼SMTãæ´» ç¨ã
HashDoSèå¼±æ§ã¨ã®æ¦ãï¼Â Rubyã³ããã¿ã¼ã»åé¨æå¹³ãæããããã°ã©ã å ç¢åã®ãã¦ã㦠éå»ãHashDosã®å½±é¿ãåããRubyãè¨èªéçºè ã¯ããã«ãã¦ããããåé¡ã«å¯¾å¿ãã¦ããã®ã§ãããããã³ããã¿ã¼ã§ããåé¨æ°ã®è²´éãªè¨é²ãå ¬éãã¾ãã 2011å¹´ã®æ«é ãHashDoSã¨ããèå¼±æ§ãå ¬è¡¨ãããRubyããã®å½±é¿ãåãããæ¬ç¨¿ã®çè ã§ããåé¨æå¹³ï¼ããã¹ã»ãããã¸ãï¼@shyouheiï¼ä»¥ä¸ãåé¨ï¼ã¯ãå ±åå½åããRubyå´ã®ãã¼ã ã¡ã³ãã¼ã¨ãã¦ããã°ã©ã æ¬ä½ã®ä¿®æ£ãæ å½ããã以ä¸ã¯ãã®è¨é²ã§ãããè¨èªéçºè ãã¡ãæ®æ®µã©ã®ãããªãã¨ãèããã©ããã£ãæè¡ãç¨ãã¦éçºããã°ãã£ãã¯ã¹ãè¡ã£ã¦ããã®ãããã®æ¦è¦ãç¥ã£ã¦ããããã°å¹¸ãã ã ãªãã¸ã§ã¯ãæåã¹ã¯ãªããè¨èª Ruby HashDoSã®æ¦è¦ ãªãç´6å¹´å¾ã®ä»ãä¿®æ£å 容ãå ¬éããã«è³ã£ããï¼ åå²ï¼ãã§ã«å å ããã¦ãããªã¹ã¯
ããã«ã¡ã¯ãκeenã§ãããã®ããã°ã§ã¡ããã¡ããåºã¦ããDirect Threaded VMã«ã¤ãã¦ã SMLã®ããã«gotoããªãè¨èªã ã¨DT VMã®å®è£ åºæ¥ãªãããªã¼ãã¨æã£ã¦ãæããµã¨ã¢ã¤ãã£ã¢ãæµ®ããã ã®ã§ããã«ã¤ãã¦ã åºè« DSLãä¾ãã°æ£è¦è¡¨ç¾ãªã©ã®å¦çç³»ãå®è£ ãããã¨ãèãã¦ã¿ã¦ä¸ããã è¨èªå¦çç³»ã«ããã¦æãç´ æ´ãªå®è£ ã¯ã¤ã³ã¿ããªã¿ã§ãããé度é¢ã§ä¸å©ãªã®ã§ä¸æ¦ä»®æ³å½ä»¤ã«ã³ã³ãã¤ã«ãã¦ä»®æ³å½ä»¤å®è¡å¨(VM)ã§å®è¡ãããã¨ãä¸è¬çã§ãã ã³ã³ãã¤ã©ã®ããã«è¤éãªè¨å·å¦çãããããã°ã©ã ã¯Common LispãMLã®ãããªè¨å·å¦çã«å¼·ãé«ç´è¨èªãå¾æã¨ããåéã§ãã ä¸æ¹ãã©ã³ã¿ã¤ã ã«ã¯ä½ã¬ãã«ãªãã¨ãåºæ¥ã¦å¦çé度ã®éãCommon LispãCã使ããããªãã§ãããã Common Lisp以å¤ã®è¨èªã§ã¯ã³ã³ãã¤ã©ã¨ã©ã³ã¿ã¤ã ãåé¢ããã®ã妥å½ãªé¸æè¢ã®ããã§ãããé«
å æ¥@niamããã¨@tsubosakaããã®ã¤ã¶ãããè¦ã¦ã¦ï¼ç¢ºç{pi}ã§å¾©å æ½åºããWalker's alias methodã¨ãããã®ãç¥ãã¾ããï¼ãã¾ãã¾ï¼ä»æ¥ï¼å¾©å æ½åºããç¨äºããã£ãã®ã§ï¼æãåºãã¦èª¿ã¹ã次第ï¼ç§ãæåããã¨ããããã¨ãã¦ï¼O(log n)ã§ãããããã¾ããããã¨æã£ã¦ããã®ã§ããï¼ãã®ã¢ã«ã´ãªãºã ã ã¨O(1)ã§ããã¾ãï¼ è§£èª¬ã¯ãã®ãããã®ããã°ãåç §ï¼ æ¯è¼çé«éãªå¾©å æ½åºã¢ã«ã´ãªãºã é«éã«é復å æ½åºãããã¢ã«ã´ãªãºã ã¯ãªãã ãããï¼(2)ãã¦ï¼ç§ã¯ç解åã足ããªãã¦ãã®ãããã®èª¬æãèªãã§ããªãã§ããã§ããã®ããã£ã±ãããããªãã£ãã®ã§ï¼çµµã«æãã¦ç解ãã¾ããï¼ç¢ºç{pi}ã§å¾©å æ½åºããããã«ã¯ï¼piã«æ¯ä¾ããé¢ç©ã®å³å½¢ãå£ã«è²¼ã£ã¦ãã¼ããããã°ããã®ã§ãï¼{0.1, 0.05, 0.3, 0.1, 0.45}ã ã£ãã¨ãã¾ãï¼ããã¨ãããªã®ï¼ ã¾ããæ¯å
Word2Vec ã¨ããã¨ãæåéãåèªããã¯ãã«ã¨ãã¦è¡¨ç¾ãããã¨ã§åèªã®æå³ãã¨ããããã¨ãã§ããææ³ã¨ãã¦æåãªãã®ã§ãããæè¿ã 㨠Word2Vec ãå調ãã£ã«ã¿ãªã³ã°ã«å¿ç¨ããç 究 (Item2Vec ã¨å¼ã°ãã) ãªã©ãããããã§ããã® Word2Vec ã¨ãããã¼ã«ã¯èªç¶è¨èªå¦çã®åéã®å£ãè¶ ãã¦æ´»èºãã¦ãã¾ãã å®ã¯ Item2Vec ãå®è£ ãã¦ã¿ãã㦠Word2Vec ã®ä»çµã¿ãç解ãããã¨ãã¦ããã®ã§ãããWord2Vec ã®å é¨ã®è©³ç´°ã«è¸ã¿è¾¼ãã§è§£èª¬ããæ¥æ¬èªè¨äºãè¦ããããã¨ããªãã£ãã®ã§ãä»æ´æã¯ããã¾ããèªåã®ç¥èã®æ´çã®ããã«ãããã°ã«æ®ãã¦ããã¾ãããªãããã®è¨äºã¯ Word2Vec ã®ã½ã¼ã¹ã³ã¼ãã¨ããã¤ãã®ãã¼ãã¼ãèªãã§èªåã§ç解ããå 容ã«ãªãã¾ããééããå«ã¾ãã¦ããå¯è½æ§ãããã¾ãã®ã§ãäºæ¿ãã ãããããééããè¦ã¤ããå ´åã¯ææãã¦ããããã¨
ã¯ããã« æ°å¹´ã«ããããPadrinoãGrapeã¨ãã£ãWebã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯ã®ã«ã¼ãã£ã³ã°ãæ¹åãã¦ããèªåããä»å¹´ã®11æé ãããå¾æ¥ã¨ã¯ç°ãªãã¢ããã¼ãã§HTTPã«ã¼ãã£ã³ã°ã®é«éåã«ã¤ãã¦æ¤è¨¼ããã®ã§ããã®çµæã«ã¤ãã¦è§£èª¬ããã ãªããã®è¨äºã§ã¯ããã®éç¨ã§C++ã§åºæ°æ¨ãå®è£ ãããããç¨ãããã¨ã«ãããRubyã§é«éãªHTTPã«ã¼ãã£ã³ã°ãå®ç¾ããäºä¾ã«ã¤ãã¦ãé ã追ã£ã¦è§£èª¬ããã tl;dr C++ã§åºæ°æ¨(Radix Tree)ã表ç¾ããr2reeã¨ããã©ã¤ãã©ãªãæ¸ããã r2reeã®Rubyåããã¤ã³ãã£ã³ã°ã§ããr2ree-rubyãæ¸ããã r2ree-rubyãç¨ãã¦Rubyä¸ã§HTTPã«ã¼ãã£ã³ã°ãè¡ã pendragon-radixãæ¸ããã å¤åãRackæºæ ã®ã«ã¼ãã£ã³ã°ã©ã¤ãã©ãªã§ã¯æéã çµæãSinatraãªã©ã§ç¨ããããæ£è¦è¡¨ç¾+ç·å½¢
qiita.com mattn.kaoriya.net ã¨ããè¨äºãèªãã ã®ã§ã¢ã«ã´ãªãºã ãæ¹åãã¦éããã¾ããã ããããè¡åç´¯ä¹ã®ãã¯ããã¯ã使ãã¨ï¼ä¹ç®é¨åãé¤ãã°ï¼Nçªç®ã®ãã£ããããæ°ã¯ã§æ±ã¾ãã¾ãã å®éã«ã¯ãã£ããããæ°ã¯ææ°çã«å¢å¤§ããã®ã§ä¹ç®ã«ãããæéãæ¯é çã«ãªãã®ã§ãã£ã¨é ããªãã¾ã(Karatsubaæ³ãªããé«éãã¼ãªã¨å¤æã使ãã°)ã åç´ãªè¶³ãç®ã®ã«ã¼ãã§ã¯è¶³ãç®ã®æ¡æ°ãèãã㨠ãªã®ã§ããããã¯éåã¨éããªãã¾ãã 40çªç®ãããã§ã¯å®è¡æéã¯ã»ã¨ãã©0ãªã®ã§100ä¸çªç®ã®ãã£ããããæ°ãæ±ãã¦ã¿ã¾ãã ãã¡ããå ã®ã½ã¼ã¹ã³ã¼ã def fib(n) f0, f1, v = 0, 1, 0 n.times do |x| if x <= 1 v = x else v = f0 + f1 f0, f1 = f1, v end end return f0 + f1
ã³ã³ãã³ãã¡ãã£ã¢äºæ¥æ¬é¨ã®æ°åã¨ã³ã¸ãã¢åæ¬ããéããããã¾ãã çªç¶ã§ãããçããã®å¥½ããªã½ã¼ãã¢ã«ã´ãªãºã ã¯ãªãã§ããï¼ ç§ã¯åºæ°ã½ã¼ãã®ã¹ãã¼ãã§ã¹ãã¤ãã¯ãªé°å²æ°ã«æ¹ããã¾ãã ã¨ã¯ãããæ®æ®µã®éçºã§ã¯ãã©ã®ã½ã¼ãã¢ã«ã´ãªãºã ã使ããããæèãããã¨ã¯å°ãªãã®ã§ã¯ãªãã§ããããã ãããç¾å®ä¸çã§ããã©ã³ããå ¨é¨æã£ã¦ããããæä½æ¥ã§ç¢ºèªããã¨ãã¨ãã®ã»ãããå®ã¯ã½ã¼ãã¢ã«ã´ãªãºã ãå¿ è¦ãªã®ããããã¾ããã ã¨ãããã¨ã§ï¼ï¼ï¼ããã®ãããªç¾å®çãªå ´é¢ã§ãæ¬å½ã«å®ç¨çãªã½ã¼ãã¢ã«ã´ãªãºã ã決ããæ¦ããå§ã¾ãã¾ããã é¸æç´¹ä» ä»å試ããã½ã¼ãã¢ã«ã´ãªãºã ã¯ãç¬æã¨åè¦ã§é¸ãã 以ä¸ã®5種é¡ã 1 æ¿å ¥ã½ã¼ã ã·ã³ãã«ã»ã¤ãºã»ãã¹ãï¼æ£ç´è¨ã£ã¦ãã³ããã¼ã¯ã®åã¾ãç¬ï¼ 2 ã¯ã¤ãã¯ã½ã¼ã ãã¯ã¤ãã¯ãã®ååã¯ãããããªãï¼çè ã®è²«ç¦ãè¦ãã¦ããï¼ 3 ãã¼ã¸ã½ã¼ã å®å®æã®ããé ããå®
Have you ever wondered how Shazam works? I asked myself this question a few years ago and I read a research article written by Avery Li-Chun Wang, the confounder of Shazam, to understand the magic behind Shazam. The quick answer is audio fingerprinting, which leads to another question: what is audio fingerprinting? When I was student, I never took a course in signal processing. To really understan
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãç¥ãã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}