クラウド時代の新しいソートアルゴリズムTask Queue Sortを発明しました.

Task Queue Sortは,

Google App Engineの並列処理の仕組みTaskQueueを使ってソート処理を行う,クラウド時代の新しいソートアルゴリズムです.
クラウドソートとも言う)


ネタ元

重要な仕様

  • ソートした結果のソート順は保証されない.
  • たまにソート対象の要素が増える事がある.

Java(slim3)での実装例

TaskQueueを投げる側

public class IndexController extends Controller {

	@Override
	public Navigation run() throws Exception {

		addToQueue(4);
		addToQueue(1);
        addToQueue(3);
        addToQueue(8);
		addToQueue(10);
		addToQueue(5);
		addToQueue(9);
        addToQueue(6);
        addToQueue(7);
		addToQueue(2);

		return forward("index.jsp");
	}

	private void addToQueue(int value) {
		Queue queue = QueueFactory.getDefaultQueue();
		queue.add(withUrl("/log").countdownMillis(value * 1000).param("value", String.valueOf(value)));
	}
}

TaskQueueを処理する側

public class LogController extends Controller {

	@Override
	public Navigation run() throws Exception {

		Logger.getLogger(this.getClass().getName()).info(asString("value"));
		return null;
	}
}