cool-easter-32542
05/19/2023, 10:48 AMpants count-loc, compared to 879 files and 101251 lines Python), and yet when enabling the Go backend we need to bump pantsd_max_memory_usage from the default value up to at least 8GiB in order to make pantsd not restart on every Pants execution (though it still restarts frequently enough for our Python developers to simply disable the Go backend locally due to the performance degradation it causes).
Here's the memory summary after running pants --stats-memory-summary fix lint check test golang/:: on 2.16.0rc2:
```
123416.78 [INFO] Memory summary (total size in bytes, count, name):
48 1 abc.EnvironmentAware
48 1 abc.EnvironmentAware
48 1 pants.backend.codegen.protobuf.go.rules.ProtobufGoModuleImportPathsMappingsHook
48 1 pants.backend.codegen.protobuf.go.rules._SetupGoProtocPlugin
48 1 pants.backend.codegen.protobuf.lint.buf.subsystem.BufSubsystem
48 1 pants.backend.codegen.protobuf.protobuf_dependency_inference.ProtobufMapping
48 1 pants.backend.codegen.protobuf.protoc.Protoc
48 1 pants.backend.codegen.protobuf.python.python_protobuf_module_mapper.PythonProtobufMappingMarker
48 1 pants.backend.codegen.protobuf.python.python_protobuf_subsystem.PythonProtobufSubsystem
48 1 pants.backend.docker.lint.hadolint.subsystem.Hadolint
48 1 pants.backend.docker.subsystems.dockerfile_parser.DockerfileParser
48 1 pants.backend.docker.subsystems.dockerfile_parser.ParserSetup
48 1 pants.backend.go.dependency_inference.AllGoModuleImportPathsMappings
48 1 pants.backend.go.dependency_inference.GoModuleImportPathsMapping
48 1 pants.backend.go.goals.check.GoCheckRequest
48 1 pants.backend.go.lint.gofmt.subsystem.GofmtSubsystem
48 1 pants.backend.go.subsystems.golang.GolangSubsystem
48 1 pants.backend.go.subsystems.golang.GolangSubsystem.EnvironmentAware
48 1 pants.backend.go.subsystems.gotest.GoTestSubsystem
48 1 pants.backend.go.target_type_rules.FirstPartyGoModuleImportPathsMappingsHook
48 1 pants.backend.go.target_type_rules.GenerateTargetsFromGoModRequest
48 1 pants.backend.go.target_type_rules.GoImportPathMappingRequest
48 1 pants.backend.go.util_rules.build_pkg.SetupAsmCheckBinary
48 1 pants.backend.go.util_rules.build_pkg_target._ResolveStdlibEmbedConfigRequest
48 1 pants.backend.go.util_rules.build_pkg_target._ResolveStdlibEmbedConfigResult
48 1 pants.backend.go.util_rules.cgo.CGoCompilerWrapperScript
48 1 pants.backend.go.util_rules.cgo.CGoCompilerWrapperScriptRequest
48 1 pants.backend.go.util_rules.cgo_binaries.CGoBinaryPathRequest
48 1 pants.backend.go.util_rules.go_bootstrap.GoBootstrap
48 1 pants.backend.go.util_rules.goroot.GoRoot
48 1 pants.backend.go.util_rules.link.LinkerSetup
48 1 pants.backend.go.util_rules.pkg_analyzer.PackageAnalyzerSetup
48 1 pants.backend.go.util_rules.sdk.GoSdkRunSetup
48 1 pants.backend.go.util_rules.third_party_pkg.AllThirdPartyPackages
48 1 pants.backend.go.util_rules.third_party_pkg.AllThirdPartyPackagesRequest
48 1 pants.backend.go.util_rules.third_party_pkg.ModuleDescriptors
48 1 pants.backend.go.util_rules.third_party_pkg.ModuleDescriptorsRequest
48 1 pants.backend.project_info.filter_targets.FilterSubsystem
48 1 pants.backend.project_info.regex_lint.RegexLintSubsystem
48 1 pants.backend.python.dependency_inference.module_mapper.AllPythonTargets
48 1 pants.backend.python.dependency_inference.module_mapper.FirstPartyPythonModuleMapping
48 1 pants.backend.python.dependency_inference.module_mapper.FirstPartyPythonTargetsMappingMarker
48 1 pants.backend.python.dependency_inference.module_mapper.ThirdPartyPythonModuleMapping
48 1 pants.backend.python.dependency_inference.parse_python_dependencies.GeneralPythonDependencyVisitorRequest
48 1 pants.backend.python.dependency_inference.parse_python_dependencies.ParserScript
48 1 pants.backend.python.dependency_inference.parse_python_dependencies.PythonDependencyVisitor
48 1 pants.backend.python.dependency_inference.subsystem.PythonInferSubsystem
48 1 pants.backend.python.goals.lockfile.PythonSyntheticLockfileTargetsRequest
48 1 pants.backend.python.lint.add_trailing_comma.subsystem.AddTrailingComma
48 1 pants.backend.python.lint.autoflake.subsystem.Autoflake
48 1 pants.backend.python.lint.bandit.subsystem.Bandit
48 1 pants.backend.python.lint.black.subsystem.Black
48 1 pants.backend.python.lint.docformatter.subsystem.Docformatter
48 1 pants.backend.python.lint.flake8.subsystem.Flake8
48 1 pants.backend.python.lint.flake8.subsystem.Flake8FirstPartyPlugins
48 1 pants.backend.python.lint.isort.subsystem.Isort
48 1 pants.backend.python.macros.python_requirements.GenerateFromPythonRequirementsRequest
48 1 pants.backend.python.subsystems.python_native_code.PythonNativeCodeSubsystem
48 1 pants.backend.python.subsystems.python_native_code.PythonNativeCodeSubsystem.EnvironmentAware
48 1 pants.backend.python.subsystems.repos.PythonRepos
48 1 pants.backend.python.subsystems.setup.PythonSetup
48 1 pants.backend.python.target_types_rules.PythonResolveFieldDefaultFactoryRequest
48 1 pants.backend.python.util_rules.interpreter_constraints.InterpreterConstraints
48 1 pants.backend.python.util_rules.pex_cli.PexCli
48 1 pants.backend.python.util_rules.pex_cli.PexPEX
48 1 pants.backend.python.util_rules.pex_environment.PexEnvironment
48 1 pants.backend.python.util_rules.pex_environment.PexSubsystem
48 1 pants.backend.python.util_rules.pex_environment.PexSubsystem.EnvironmentAware
48 1 pants.backend.python.util_rules.pex_environment.PythonExecutable
48 1 pants.backend.python.util_rules.pex_requirements.Lockfile
48 1 pants.backend.python.util_rules.pex_requirements.Resolve
48 1 pants.backend.python.util_rules.python_sources.PythonSourceFiles
48 1 pants.backend.python.util_rules.python_sources.StrippedPythonSourceFiles
48 1 pants.backend.shell.lint.shellcheck.subsystem.Shellcheck
48 1 pants.backend.shell.lint.shfmt.subsystem.Shfmt
48 1 pants.backend.shell.subsystems.shell_tes…
pantsbuild/pants