You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by lc...@apache.org on 2017/12/22 17:27:00 UTC
[beam] 02/03: BEAM-3324 improve symtab memory usage
This is an automated email from the ASF dual-hosted git repository.
lcwik pushed a commit to branch go-sdk
in repository https://gitbox.apache.org/repos/asf/beam.git
commit d85a502c838648814b96d56370b98fc799e07705
Author: Bill Neubauer <wc...@google.com>
AuthorDate: Fri Dec 15 10:00:22 2017 -0800
BEAM-3324 improve symtab memory usage
Change the symbol table lookup to read from a file rather than
loading the file into memory. This is a space/time tradeoff, but
lookups can be cached so we can get good speed with a much lower
memory footprint.
---
sdks/go/pkg/beam/core/util/symtab/symtab.go | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/sdks/go/pkg/beam/core/util/symtab/symtab.go b/sdks/go/pkg/beam/core/util/symtab/symtab.go
index a717d08..54ec579 100644
--- a/sdks/go/pkg/beam/core/util/symtab/symtab.go
+++ b/sdks/go/pkg/beam/core/util/symtab/symtab.go
@@ -42,7 +42,8 @@ func New(filename string) (*SymbolTable, error) {
if err == nil {
d, err := ef.DWARF()
if err != nil {
- return nil, err
+ f.Close()
+ return nil, fmt.Errorf("No working DWARF: %v", err)
}
return &SymbolTable{d}, nil
}
@@ -52,6 +53,7 @@ func New(filename string) (*SymbolTable, error) {
if err == nil {
d, err := mf.DWARF()
if err != nil {
+ f.Close()
return nil, fmt.Errorf("No working DWARF: %v", err)
}
return &SymbolTable{d}, nil
@@ -62,12 +64,14 @@ func New(filename string) (*SymbolTable, error) {
if err == nil {
d, err := pf.DWARF()
if err != nil {
- return nil, err
+ f.Close()
+ return nil, fmt.Errorf("No working DWARF: %v", err)
}
return &SymbolTable{d}, nil
}
// Give up, we don't recognize it
+ f.Close()
return nil, fmt.Errorf("Unknown file format")
}
--
To stop receiving notification emails like this one, please contact
"commits@beam.apache.org" <co...@beam.apache.org>.