aboutsummaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorDaniel Gavin <danielgavin5@hotmail.com>2022-07-31 15:25:07 +0200
committerDaniel Gavin <danielgavin5@hotmail.com>2022-07-31 15:25:07 +0200
commit963bdd60b8f85eabd3775cec9ce2b92609524db5 (patch)
tree5caba8b7b05ead720f86671a9127e76253653b15 /tools
parenta9625ed006585b742895166ddc5a77f80c1e2960 (diff)
Memory optimizations
Diffstat (limited to 'tools')
-rw-r--r--tools/odinfmt/main.odin13
1 files changed, 8 insertions, 5 deletions
diff --git a/tools/odinfmt/main.odin b/tools/odinfmt/main.odin
index 6fca27f..77f1379 100644
--- a/tools/odinfmt/main.odin
+++ b/tools/odinfmt/main.odin
@@ -64,9 +64,8 @@ walk_files :: proc(info: os.File_Info, in_err: os.Errno) -> (err: os.Errno, skip
}
main :: proc() {
-
arena: mem.Arena;
- mem.init_arena(&arena, make([]byte, 20 * mem.Megabyte));
+ mem.init_arena(&arena, make([]byte, 50 * mem.Megabyte));
arena_allocator := mem.arena_allocator(&arena);
@@ -88,6 +87,8 @@ main :: proc() {
write_failure := false;
+ watermark := 0
+
if os.is_file(path) {
if _, ok := args.write.(bool); ok {
backup_path := strings.concatenate({path, "_bk"});
@@ -118,7 +119,6 @@ main :: proc() {
defer delete(backup_path);
if data, ok := format_file(file, arena_allocator); ok {
-
if _, ok := args.write.(bool); ok {
os.rename(file, backup_path);
@@ -133,10 +133,13 @@ main :: proc() {
write_failure = true;
}
+ watermark = max(watermark, arena.offset)
+
free_all(arena_allocator);
}
-
- fmt.printf("formatted %v files in %vms", len(files), time.duration_milliseconds(time.tick_lap_time(&tick_time)));
+
+ fmt.printf("formatted %v files in %vms \n", len(files), time.duration_milliseconds(time.tick_lap_time(&tick_time)));
+ fmt.printf("peak used memory: %v \n", watermark / mem.Megabyte)
} else {
fmt.eprintf("%v is neither a directory nor a file \n", path);
os.exit(1);