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

More Related Content

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

What's hot

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

More from takesako

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

Node.js - sleep sort algorithm


[8]ページ先頭

©2009-2025 Movatter.jp