diff options
author | Kamil Trzciński <ayufan@ayufan.eu> | 2020-10-13 19:19:42 +0300 |
---|---|---|
committer | Kamil Trzciński <ayufan@ayufan.eu> | 2020-10-13 19:19:42 +0300 |
commit | c94cfe14a401d74bea417d6ec6457f30013a18b6 (patch) | |
tree | 6dc53ab085d5c50b964ae95eea3108ec8f9f3258 | |
parent | 68212d36361aa36d31ce1d765c883129bf35e82a (diff) |
-rw-r--r-- | internal/vfs/zip/big_archive_test.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/internal/vfs/zip/big_archive_test.go b/internal/vfs/zip/big_archive_test.go index 2903d583..b4c425a8 100644 --- a/internal/vfs/zip/big_archive_test.go +++ b/internal/vfs/zip/big_archive_test.go @@ -68,6 +68,7 @@ func BenchmarkTestAccess(t *testing.B) { var lastMapStructPtr map[string]zipFilePtr var lastMapCopyPtr map[string]*zip.File var lastMapHashedPtr []map[string]*zip.File + var lastMapCopyFlatPtr map[string]*zip.File var lastSlice zipFiles t.Run("create Map Ptr", func(t *testing.B) { @@ -126,6 +127,19 @@ func BenchmarkTestAccess(t *testing.B) { } }) + t.Run("create Map Copy Flat Pointer", func(t *testing.B) { + for i := 0; i < t.N; i++ { + ptrs := make([]zip.File, len(archive.files)) + lastMapCopyFlatPtr = make(map[string]*zip.File) + + for _, file := range archive.files { + newFile := &ptrs[len(lastMapCopyFlatPtr)] + *newFile = *file + lastMapCopyFlatPtr[file.Name] = newFile + } + } + }) + t.Run("create slice", func(t *testing.B) { for i := 0; i < t.N; i++ { lastSlice = make(zipFiles, len(archive.files)) |