The start-up problem is a combination of two things:
* Starting with v6.3, the `plot` library is implemented with typed
classes. The compile-time part of typed classes is big and
expensive.
* The run-time system is over-eager in forcing compile-time code in
response to a `dynamic-require` of already-compiled code, so that
expensive compile-time part gets run in your generated executable.
The last bullet has been fixed for the next release, so you could try a
snapshot build. (The most recent snapshot build failed on Windows for
boring reasons, but the previous build is still available through the
"last-success" links.) Unfortunately, I don't have an easy workaround
for v6.3.
The change to `plot` also explains why generating an executable takes
so much more time and space than before. In that case, the compile-time
is needed, so it can't be skipped, but various caches help. There's
still room for improvement in the executable-generator so that it
doesn't re-expand modules so much, but I'll have to think about it
more.
Finally, I think you can avoid some unwanted influence by DrRacket and
its debugging mode on the generated executable by wrapping the call
to `create-embedding-executable` with
(parameterize ([use-compiled-file-paths (list "compiled")])
....)
It's also a good idea to pass
#:expand-namespace (make-base-namespace)
to `create-embedding-executable`.