Movatterモバイル変換


[0]ホーム

URL:


takesako, profile picture
Uploaded bytakesako
PPTX, PDF2,125 views

Node.js - sleep sort algorithm

setTimeout

Embed presentation

Downloaded 12 times
常識を覆すソートアルゴリズムSleep sortサイボウズ・ラボ/ Shibuya.pm竹迫 良範  @TAKESAKO
2009/04/06Cybozu University2
常識を覆すソートアルゴリズム Sleep sort#!/bin/bashfunction f() {    sleep "$1" && echo "$1"}while [ -n "$1" ]do    f "$1" &    shiftdonewait実行方法$ ./sleepsort.bash 5 4 3 2 1
2009/04/06Cybozu University44ch BBS
2009/04/06Cybozu University5
2009/04/06Cybozu University6
2009/04/06Cybozu University7
2009/04/06Cybozu University8
2009/04/06Cybozu University9package mainimport (    "os"    "strconv"    "syscall")func main() {args := os.Args[1:]    done := make(chan int64)    for _, arg := range args {        i, _ := strconv.Atoi64(arg)        go func(i int64) {syscall.Sleep(i * 1e9)            done <- i        }(i)    }    for _ = range args {println(<-done)    }}
2009/04/06Cybozu University10setTimeoutでSleep sort を実装してみた
JavaScript版 Sleep sort(1000ミリ秒単位)function sleep_sort(a) {   for(var i = 0; i < a.length; i++){      callback( a[i] );   }   function callback(n) {setTimeout( function(){ document.body.innerHTML+= n + "<br>\n";      }, n * 1000)   }}実行方法sleep_sort([5,4,3,2,1,0]);
ブラウザで実際に動かしてみるsetTimeout(f, n * 1000) バージョン
高速 JavaScript版 Sleep sort(1ミリ秒単位)function sleep_sort(a) {   for(var i = 0; i < a.length; i++){      callback( a[i] );   }   function callback(n) {setTimeout( function(){ document.body.innerHTML+= n + "<br>\n";      }, n* 1)   }}実行方法sleep_sort([11,12,5,4,3,13,2,1,0,9,8,7,6,10]);
本当に動くのかブラウザで実際に動かしてみるsetTimeout(f, n * 1) ミリ秒バージョン
手元の環境で setTimeoutの分解能を調べてみた※タブの表・裏やOSなど環境によって差があります
※ クロスブラウザ対応とはこういうこと?setTimeout(f, (n+5) * 2) ミリ秒バージョン
2009/04/06Cybozu University17Node.js
Node.js 版 Sleep sort(10ピコ秒単位)function sleep_sort(a) {   for(var i = 0; i < a.length; i++) {      callback( a[i] );   }   function callback(n) {setTimeout( function(){ console.log(n); }               , (n+1) * 1e-8)   }}sleep_sort(process.argv.slice(2));実行方法$ node sort.js 5 4 3 2 1 0
Node.js の setTimeout分解能(およそ)※タブの表・裏やOSなど環境によって差があります
2009/04/06Cybozu University20Node.js最速伝説

Recommended

PDF
GNU awk (gawk) を用いた Apache ログ解析方法
PDF
Python で munin plugin を書いてみる
 
PDF
awk v.s. bashどっちが強い?@OSC2011Tokyo
PDF
Neo4jとProlog
PDF
ジャパネットQB GPars
PDF
Subprocess no susume
PPTX
前期講座09
PDF
R3.0.0 is relased
PDF
pecoを使おう
PDF
マーク&スイープ勉強会
 
PPT
いまさら聞けないRake入門
KEY
Stroustrup11章雑感
 
PDF
Siv3Dで楽しむゲームとメディアアート開発
PPTX
Rでのtry関数によるエラー処理
PDF
Mock and patch
PDF
llvm入門
PPTX
C++のビルド高速化について
PDF
Effective modern-c++#9
PDF
Goをカンストさせる話
PDF
菩薩でもわかる!Rで動かすExcelアドインの作り方
PPTX
USP 友の会 LT 資料 20130413
PDF
仮想記憶の構築法
PDF
Async design with Unity3D
PDF
Lisp tutorial for Pythonista : Day 1
PDF
8F Emacs seminar 1st
PDF
effective modern c++ chapeter36
PDF
Tokyo.R#16 wdkz
PPTX
Node.js - JavaScript Thread Programming
PPT
Shibuyajs Digest
PPT
HTML Binary Hacks & GIF89a Ployglot

More Related Content

PDF
GNU awk (gawk) を用いた Apache ログ解析方法
PDF
Python で munin plugin を書いてみる
 
PDF
awk v.s. bashどっちが強い?@OSC2011Tokyo
PDF
Neo4jとProlog
PDF
ジャパネットQB GPars
PDF
Subprocess no susume
PPTX
前期講座09
PDF
R3.0.0 is relased
GNU awk (gawk) を用いた Apache ログ解析方法
Python で munin plugin を書いてみる
 
awk v.s. bashどっちが強い?@OSC2011Tokyo
Neo4jとProlog
ジャパネットQB GPars
Subprocess no susume
前期講座09
R3.0.0 is relased

What's hot

PDF
pecoを使おう
PDF
マーク&スイープ勉強会
 
PPT
いまさら聞けないRake入門
KEY
Stroustrup11章雑感
 
PDF
Siv3Dで楽しむゲームとメディアアート開発
PPTX
Rでのtry関数によるエラー処理
PDF
Mock and patch
PDF
llvm入門
PPTX
C++のビルド高速化について
PDF
Effective modern-c++#9
PDF
Goをカンストさせる話
PDF
菩薩でもわかる!Rで動かすExcelアドインの作り方
PPTX
USP 友の会 LT 資料 20130413
PDF
仮想記憶の構築法
PDF
Async design with Unity3D
PDF
Lisp tutorial for Pythonista : Day 1
PDF
8F Emacs seminar 1st
PDF
effective modern c++ chapeter36
PDF
Tokyo.R#16 wdkz
pecoを使おう
マーク&スイープ勉強会
 
いまさら聞けないRake入門
Stroustrup11章雑感
 
Siv3Dで楽しむゲームとメディアアート開発
Rでのtry関数によるエラー処理
Mock and patch
llvm入門
C++のビルド高速化について
Effective modern-c++#9
Goをカンストさせる話
菩薩でもわかる!Rで動かすExcelアドインの作り方
USP 友の会 LT 資料 20130413
仮想記憶の構築法
Async design with Unity3D
Lisp tutorial for Pythonista : Day 1
8F Emacs seminar 1st
effective modern c++ chapeter36
Tokyo.R#16 wdkz

More from takesako

PPTX
Node.js - JavaScript Thread Programming
PPT
Shibuyajs Digest
PPT
HTML Binary Hacks & GIF89a Ployglot
PDF
Perl6 Regex Programming with Rakudo
PPTX
x86x64 SSE4.2 POPCNT
PDF
That Goes Without Alpha-Num (or Does It ?) all your base10 are belong to us
PPT
Shibuya.pm#8 - ImageFight - HTML 2.0 New Browser Detection
PPTX
再帰的 正規表現JSON Validator
PPT
GIF89a Oldtype
PPT
HTML2.0 - digg - OSC2007-fall
PDF
SECCON CTF セキュリティ競技会コンテスト開催について
PDF
Acme::MineChan LT demo
PDF
正規表現‐もう一つのバベルの塔‐木村浩一
PDF
Devsumi2010 Ecmascript5 (ISO/IEC JTC1/SC22)
PDF
Acme minechan
PPT
Shibuyajs24 JavaScript.GIF x LiveConnect
PDF
Devsumi2008 - YAPC::Asia 2008 Tokyo
PDF
Perl x86 JIT Programming
PPT
YAPC::Asia 2008 Closing Ceremony
Node.js - JavaScript Thread Programming
Shibuyajs Digest
HTML Binary Hacks & GIF89a Ployglot
Perl6 Regex Programming with Rakudo
x86x64 SSE4.2 POPCNT
That Goes Without Alpha-Num (or Does It ?) all your base10 are belong to us
Shibuya.pm#8 - ImageFight - HTML 2.0 New Browser Detection
再帰的 正規表現JSON Validator
GIF89a Oldtype
HTML2.0 - digg - OSC2007-fall
SECCON CTF セキュリティ競技会コンテスト開催について
Acme::MineChan LT demo
正規表現‐もう一つのバベルの塔‐木村浩一
Devsumi2010 Ecmascript5 (ISO/IEC JTC1/SC22)
Acme minechan
Shibuyajs24 JavaScript.GIF x LiveConnect
Devsumi2008 - YAPC::Asia 2008 Tokyo
Perl x86 JIT Programming
YAPC::Asia 2008 Closing Ceremony

Node.js - sleep sort algorithm


[8]ページ先頭

©2009-2025 Movatter.jp