# For fastest executable: raco make, or exe, or ...?

**URL:** <https://racket.discourse.group/t/for-fastest-executable-raco-make-or-exe-or/3057>\
**Category:** Questions & Answers\
**Tags:** question\
**Created:** [July 30, 2024, 11:12am UTC](https://racket.discourse.group/t/for-fastest-executable-raco-make-or-exe-or/3057 "2024-07-30T11:12:25Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![not-just-yeti](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/not-just-yeti/32/139_2.png) [@not-just-yeti](https://racket.discourse.group/u/not-just-yeti)\
**Post date:** [July 30, 2024, 11:12am UTC](https://racket.discourse.group/t/for-fastest-executable-raco-make-or-exe-or/3057/1 "2024-07-30T11:12:25Z")

</div>

What's the best way to get a speedy run, of an arbitrary racket program?

Context: [kattis.com](http://kattis.com), the competitive coding site, may be adding racket as an allowed language (yay!). They run a submitted-program repeatedly. Problems are mostly compute-intensive, though I guess I/O (reading) is occasionally significant. Only standard libraries. Submitting multiple files is allowed (but probably very uncommon).

Some minor experimenting on my end suggested that using `raco make` edges out `raco exe` by 5-10%, but that's only testing one _small_ program, and is probably just noise and non-representative at that.  
My instinct is to recommend they build via `raco make <entrypointfile.rkt>`, mostly since that saves their server from creating a new, large executable file per submission.

Am I missing any obvious other alternatives, or issues to make that kattis folk aware of?

---

<div class="post-metadata">

**Author:** ![benknoble](https://yyz2.discourse-cdn.com/free1/user_avatar/racket.discourse.group/benknoble/32/16_2.png) [@benknoble](https://racket.discourse.group/u/benknoble)\
**Post date:** [July 30, 2024, 2:55pm UTC](https://racket.discourse.group/t/for-fastest-executable-raco-make-or-exe-or/3057/2 "2024-07-30T14:55:34Z")

</div>

See [2&nbsp;raco exe: Creating Stand-Alone Executables](https://docs.racket-lang.org/raco/exe.html)

> Running an executable produced by `raco exe` will not improve performance over `raco make`

I expect in some narrow cases embedding all the bits together can actually be a win, but mostly I would say use `raco make` for this case.
