{"size": 1220, "ext": "scrbl", "max_stars_repo_path": "scribblings/futures-sort.scrbl", "max_stars_repo_name": "dzoep/futures-sort", "max_stars_repo_stars_event_min_datetime": "2019-12-08T02:30:34.000Z", "max_stars_repo_stars_event_max_datetime": "2020-02-02T14:30:13.000Z", "max_issues_repo_path": "scribblings/futures-sort.scrbl", "max_issues_repo_name": "dzoep/futures-sort", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "scribblings/futures-sort.scrbl", "max_forks_repo_name": "dzoep/futures-sort", "max_forks_repo_forks_event_min_datetime": "2019-10-08T04:45:39.000Z", "max_forks_repo_forks_event_max_datetime": "2019-10-08T04:45:39.000Z"}
{"max_stars_count": 3, "max_issues_count": null, "max_forks_count": 1, "avg_line_length": 32.972972973, "max_line_length": 79, "alphanum_fraction": 0.7385245902}
#lang scribble/manual
@require[@for-label[futures-sort
                    racket/base
		    racket/fixnum
		    racket/future]
	 scribble/extract
	 scribble-math]

@title[#:style (with-html5 manual-doc-style)]{@racketmodname[futures-sort]}

@author[
@author+email["Dominik Pantůček" "dominik.pantucek@trustica.cz"]]

@defmodule[futures-sort]

This library leverages futures for implementing parallel merge-sort of
@racket[vector?] and @racket[fxvector?]. By default it tries to use all
available processors as reported by @racket[(processor-count)].

It is possible to use this library to speed up already written programs using
stock @racket[vector-sort], @racket[vector-sort!], and @racket[sort] by
renaming the required "futures" functions.

@racketblock[
(require (rename-in futures-sort
                    [vector-futures-sort vector-sort]
		    [vector-futures-sort! vector-sort!]
		    [futures-sort sort]))
]

All the functions provided support the same positional and keyword arguments as
their respective counterparts and are meant to be a parallel drop-in
replacement for those. The @racket[#:cache-keys?] argument is unused and
is accepted only to provide compatibility.

@include-extracted["../main.rkt"]
