nicesort ってのを書いてみた

sleep sort とか環境にやさしすぎて21世紀には不向きだと思うの。なので nicesort なるものを作ってみた。

#! /bin/bash

function f() {
  nice -n "$1" perl -we 'for (1..1000000) {}'
  echo "$1"
}
while [ -n "$1" ] ; do
  f "$1" &
  shift
done
wait

こんな感じで動きます。注意点としては、マルチコアだとうまく動かないので taskset 使いましょう (linux の場合) ってのと、0-20の範囲でしかそーとできないよってあたりかしら.

$ taskset 1 ./nicesort.sh 1 9 6 4
1
4
6
9

ちなみに、nice 値が1増えると実行時間は1.25倍になる。これは試験に出るよ!

参考: 革命の日々! CFSのnice値について