Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions pkgs/development/compilers/sbcl/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -173,6 +173,7 @@ stdenv.mkDerivation (self: rec {

buildArgs = [
"--prefix=$out"
"--dynamic-space-size=3072"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. Why? What is the reason behind changing the default?
  2. Make it configurable. Something like an argument dynamicSpaceSize ? 3 * 1024, plus something like
Suggested change
"--dynamic-space-size=3072"
"--dynamic-space-size=${dynamicSpaceSize}"

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. The goal is to increase the default heap size when sbcl is launched, which defaults to 1GB. Given today's machines, it is an unfit default. Note that on Guix it also defaults to 3GB.

  2. The suggestion makes little sense since sbcl can be started via sbcl --dynamic-space-size <megabytes>. In other words, sbcl is already flexible enough in that regard.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It depends on how many SBCL's you want to launch at the same time (and is it nicer or not to skip the extra argument), so I'd say that if we want to override a default without a clear justification for an exact number, we should make it configurable.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. The goal is to increase the default heap size when sbcl is launched, which defaults to 1GB. Given today's machines, it is an unfit default. Note that on Guix it also defaults to 3GB.

I do not like the idea of changing defaults, but I find it acceptable here.

2. The suggestion makes little sense since `sbcl` can be started via `sbcl --dynamic-space-size <megabytes>`. In other words, `sbcl` is already flexible enough in that regard.

Not OK.
The argument "the user can set it by itself" can be used against your own PR.
In other words, your PR makes as little sense as my suggestion.

If your next argument will be "almost everyone sets it at 3GB, so let's do it ourselves", then the same can be said about some niche examples like "in my rig of machine learning we can set this to 64GB": the niche user can tweak an argument instead of overriding the code.

"--xc-host=${lib.escapeShellArg bootstrapLisp'}"
] ++ builtins.map (x: "--with-${x}") self.enableFeatures
++ builtins.map (x: "--without-${x}") self.disableFeatures
Expand Down