# [PATCH] pack-revindex.h: fix typos of time complexity

6 messages from 2021-09-15 to 2021-09-16. Participants: Kyle Zhao via GitGitGadget, Bagas Sanjaya, Taylor Blau, Junio C Hamano.
Thread: https://gitlist.dev/t/56502

## Kyle Zhao via GitGitGadget, 2021-09-15 08:42

Subject: [PATCH] pack-revindex.h: fix typos of time complexity
Message-ID: <pull.1039.git.1631695337775.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/pull.1039.git.1631695337775.gitgitgadget%40gmail.com

```
From: kylezhao <kylezhao@tencent.com>

Signed-off-by: kylezhao <kylezhao@tencent.com>
---
    pack-revindex.h: fix typos of time complexity
    
    It looks like the time complexity descriptions were written wrong.
    
    Regards, Kyle

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1039%2Fkeyu98%2Fkz%2Ffix-pack-revindex-typo-v1
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1039/keyu98/kz/fix-pack-revindex-typo-v1
Pull-Request: https://github.com/gitgitgadget/git/pull/1039

 pack-revindex.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pack-revindex.h b/pack-revindex.h
index 479b8f2f9c9..74f4eae668d 100644
--- a/pack-revindex.h
+++ b/pack-revindex.h
@@ -109,7 +109,7 @@ off_t pack_pos_to_offset(struct packed_git *p, uint32_t pos);
  * If the reverse index has not yet been loaded, or the position is out of
  * bounds, this function aborts.
  *
- * This function runs in time O(log N) with the number of objects in the MIDX.
+ * This function runs in constant time.
  */
 uint32_t pack_pos_to_midx(struct multi_pack_index *m, uint32_t pos);
 
@@ -120,7 +120,7 @@ uint32_t pack_pos_to_midx(struct multi_pack_index *m, uint32_t pos);
  * If the reverse index has not yet been loaded, or the position is out of
  * bounds, this function aborts.
  *
- * This function runs in constant time.
+ * This function runs in time O(log N) with the number of objects in the MIDX.
  */
 int midx_to_pack_pos(struct multi_pack_index *midx, uint32_t at, uint32_t *pos);
 

base-commit: 8b7c11b8668b4e774f81a9f0b4c30144b818f1d1
-- 
gitgitgadget

```

## Bagas Sanjaya, 2021-09-15 08:48

Subject: Re: [PATCH] pack-revindex.h: fix typos of time complexity
Message-ID: <617e94d7-6c34-8e89-fd3a-d96dc70fd9dd@gmail.com>
URL: https://gitlist.dev/e/617e94d7-6c34-8e89-fd3a-d96dc70fd9dd%40gmail.com
In-Reply-To: <pull.1039.git.1631695337775.gitgitgadget@gmail.com>

```
On 15/09/21 15.42, Kyle Zhao via GitGitGadget wrote:
> From: kylezhao <kylezhao@tencent.com>
> 
> Signed-off-by: kylezhao <kylezhao@tencent.com>
> ---
>      pack-revindex.h: fix typos of time complexity
>      
>      It looks like the time complexity descriptions were written wrong.
>      
>      Regards, Kyle
> 
> Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1039%2Fkeyu98%2Fkz%2Ffix-pack-revindex-typo-v1
> Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1039/keyu98/kz/fix-pack-revindex-typo-v1
> Pull-Request: https://github.com/gitgitgadget/git/pull/1039
> 
>   pack-revindex.h | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/pack-revindex.h b/pack-revindex.h
> index 479b8f2f9c9..74f4eae668d 100644
> --- a/pack-revindex.h
> +++ b/pack-revindex.h
> @@ -109,7 +109,7 @@ off_t pack_pos_to_offset(struct packed_git *p, uint32_t pos);
>    * If the reverse index has not yet been loaded, or the position is out of
>    * bounds, this function aborts.
>    *
> - * This function runs in time O(log N) with the number of objects in the MIDX.
> + * This function runs in constant time.
>    */
>   uint32_t pack_pos_to_midx(struct multi_pack_index *m, uint32_t pos);
>   
> @@ -120,7 +120,7 @@ uint32_t pack_pos_to_midx(struct multi_pack_index *m, uint32_t pos);
>    * If the reverse index has not yet been loaded, or the position is out of
>    * bounds, this function aborts.
>    *
> - * This function runs in constant time.
> + * This function runs in time O(log N) with the number of objects in the MIDX.
>    */
>   int midx_to_pack_pos(struct multi_pack_index *midx, uint32_t at, uint32_t *pos);
>   
> 
> base-commit: 8b7c11b8668b4e774f81a9f0b4c30144b818f1d1
> 

The commit message should be "time complexities for pack_pos_to_midx and 
midx_to_pack_pos are swapped, correct it". Of course, this is not typofix.

-- 
An old man doll... just what I always wanted! - Clara

```

## Kyle Zhao via GitGitGadget, 2021-09-15 09:09

Subject: [PATCH v2] pack-revindex.h: correct the time complexity descriptions
Message-ID: <pull.1039.v2.git.1631696964072.gitgitgadget@gmail.com>
URL: https://gitlist.dev/e/pull.1039.v2.git.1631696964072.gitgitgadget%40gmail.com
In-Reply-To: <pull.1039.git.1631695337775.gitgitgadget@gmail.com>

```
From: kylezhao <kylezhao@tencent.com>

Time complexities for pack_pos_to_midx and midx_to_pack_pos are swapped,
correct it.

Signed-off-by: kylezhao <kylezhao@tencent.com>
---
    pack-revindex.h: correct the time complexity descriptions
    
    It looks like the time complexity descriptions were written wrong.
    
    Regards, Kyle
    
    Changes since v1:
    
     * changed the commit message

Published-As: https://github.com/gitgitgadget/git/releases/tag/pr-1039%2Fkeyu98%2Fkz%2Ffix-pack-revindex-typo-v2
Fetch-It-Via: git fetch https://github.com/gitgitgadget/git pr-1039/keyu98/kz/fix-pack-revindex-typo-v2
Pull-Request: https://github.com/gitgitgadget/git/pull/1039

Range-diff vs v1:

 1:  8915a8f55ba ! 1:  a2e9df25ac9 pack-revindex.h: fix typos of time complexity
     @@ Metadata
      Author: kylezhao <kylezhao@tencent.com>
      
       ## Commit message ##
     -    pack-revindex.h: fix typos of time complexity
     +    pack-revindex.h: correct the time complexity descriptions
     +
     +    Time complexities for pack_pos_to_midx and midx_to_pack_pos are swapped,
     +    correct it.
      
          Signed-off-by: kylezhao <kylezhao@tencent.com>
      


 pack-revindex.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pack-revindex.h b/pack-revindex.h
index 479b8f2f9c9..74f4eae668d 100644
--- a/pack-revindex.h
+++ b/pack-revindex.h
@@ -109,7 +109,7 @@ off_t pack_pos_to_offset(struct packed_git *p, uint32_t pos);
  * If the reverse index has not yet been loaded, or the position is out of
  * bounds, this function aborts.
  *
- * This function runs in time O(log N) with the number of objects in the MIDX.
+ * This function runs in constant time.
  */
 uint32_t pack_pos_to_midx(struct multi_pack_index *m, uint32_t pos);
 
@@ -120,7 +120,7 @@ uint32_t pack_pos_to_midx(struct multi_pack_index *m, uint32_t pos);
  * If the reverse index has not yet been loaded, or the position is out of
  * bounds, this function aborts.
  *
- * This function runs in constant time.
+ * This function runs in time O(log N) with the number of objects in the MIDX.
  */
 int midx_to_pack_pos(struct multi_pack_index *midx, uint32_t at, uint32_t *pos);
 

base-commit: 8b7c11b8668b4e774f81a9f0b4c30144b818f1d1
-- 
gitgitgadget

```

## Bagas Sanjaya, 2021-09-15 09:12

Subject: Re: [PATCH v2] pack-revindex.h: correct the time complexity descriptions
Message-ID: <67cfff14-8158-6401-b0f2-1f6de37c5815@gmail.com>
URL: https://gitlist.dev/e/67cfff14-8158-6401-b0f2-1f6de37c5815%40gmail.com
In-Reply-To: <pull.1039.v2.git.1631696964072.gitgitgadget@gmail.com>

```
On 15/09/21 16.09, Kyle Zhao via GitGitGadget wrote:
> From: kylezhao <kylezhao@tencent.com>
> 
> Time complexities for pack_pos_to_midx and midx_to_pack_pos are swapped,
> correct it.
> 
> Signed-off-by: kylezhao <kylezhao@tencent.com>
> ---
<snip>...
>   pack-revindex.h | 4 ++--
>   1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/pack-revindex.h b/pack-revindex.h
> index 479b8f2f9c9..74f4eae668d 100644
> --- a/pack-revindex.h
> +++ b/pack-revindex.h
> @@ -109,7 +109,7 @@ off_t pack_pos_to_offset(struct packed_git *p, uint32_t pos);
>    * If the reverse index has not yet been loaded, or the position is out of
>    * bounds, this function aborts.
>    *
> - * This function runs in time O(log N) with the number of objects in the MIDX.
> + * This function runs in constant time.
>    */
>   uint32_t pack_pos_to_midx(struct multi_pack_index *m, uint32_t pos);
>   
> @@ -120,7 +120,7 @@ uint32_t pack_pos_to_midx(struct multi_pack_index *m, uint32_t pos);
>    * If the reverse index has not yet been loaded, or the position is out of
>    * bounds, this function aborts.
>    *
> - * This function runs in constant time.
> + * This function runs in time O(log N) with the number of objects in the MIDX.
>    */
>   int midx_to_pack_pos(struct multi_pack_index *midx, uint32_t at, uint32_t *pos);
>   
> 
> base-commit: 8b7c11b8668b4e774f81a9f0b4c30144b818f1d1
> 

OK.

Reviewed-by: Bagas Sanjaya <bagasdotme@gmail.com>

-- 
An old man doll... just what I always wanted! - Clara

```

## Taylor Blau, 2021-09-16 05:10

Subject: Re: [PATCH v2] pack-revindex.h: correct the time complexity descriptions
Message-ID: <YULRwFhL/T44ygpe@nand.local>
URL: https://gitlist.dev/e/YULRwFhL%2FT44ygpe%40nand.local
In-Reply-To: <pull.1039.v2.git.1631696964072.gitgitgadget@gmail.com>

```
On Wed, Sep 15, 2021 at 09:09:23AM +0000, Kyle Zhao via GitGitGadget wrote:
> From: kylezhao <kylezhao@tencent.com>
>
> Time complexities for pack_pos_to_midx and midx_to_pack_pos are swapped,
> correct it.

Great eyes! Thanks for noticing and fixing. I took a look through the
other three functions which convert between pack offset, pack position,
and index position, and those had the correct runtime noted.

But these two were swapped, and are now correct after your patch. Thanks
again.

    Reviewed-by: Taylor Blau <me@ttaylorr.com>

Thanks,
Taylor

```

## Junio C Hamano, 2021-09-16 05:15

Subject: Re: [PATCH v2] pack-revindex.h: correct the time complexity descriptions
Message-ID: <xmqqtuilummf.fsf@gitster.g>
URL: https://gitlist.dev/e/xmqqtuilummf.fsf%40gitster.g
In-Reply-To: <YULRwFhL/T44ygpe@nand.local>

```
Taylor Blau <me@ttaylorr.com> writes:

> But these two were swapped, and are now correct after your patch. Thanks
> again.
>
>     Reviewed-by: Taylor Blau <me@ttaylorr.com>
>
> Thanks,
> Taylor

Yup, both are from f894081d (pack-revindex: read multi-pack reverse
indexes, 2021-03-30) and a "reviewed-by:" from the person who wrote
it certainly is appreciated :-).

Thanks, both.


```
