---
# System prepended metadata

title: Untitled

---

H2OIDE - Measure Performance
---
It takes about **10 minutes** for the background taks when creating a project.
For loading a project, it takes about **2.5 minutes** to finish background tasks.

```mermaid
graph LR
    New_Proj --> |35s| Show_Ready --> |2m47s| Show_ProjView --> En_Addins --> En_OEM_Ref --> |5m18s| Index_Files --> |9m25s| Idle
```
```mermaid
graph LR
    Load_Proj --> |22s| Show_Ready --> |49s| Show_ProjView --> En_Addins --> Index_Files --> |1m13s|En_OEM_Ref --> |2m10s|Idle
```

<!--
```mermaid
gantt
    title Time elapsed
    dateFormat  HH:mm:s
    axisFormat  %Mm:%Ss
    #section Section
    Show Ready to use:a1, 00:00:00, 35s
    Show Project View:a2, after a1, 132s
    OEM Service-Show referenced is available: a3, after a2, 151s
    Index source files: a4, after a2, 398s
```
```mermaid
gantt
    title Test 7(Load)
    dateFormat  HH:mm:s
    axisFormat  %Mm%Ss
    #section Section
    Show Ready to use:a1, 00:00:00, 22s
    Show Project View:a2, after a1, 27s
    OEM Service-Show referenced is available: a3, 00:02:00, 34s
    Index source files: a4, 00:00:49, 37s
```
-->
### What features depend on these background tasks:
* BIOS parser
  * Project view
  * Variable interpreter
  * PCD editor & related Addins(SMBIOS, FlashDevice...)
  * Override file.
  * Go to definition
* Index source files(Using Git)
  * H2OSSR
  * Speed up "Find in files"
* Cscope
  * OEM Service - Highlight which service is referenced.

:::warning
:speech_balloon: SSR doesn't need "Index source files"
:::


### The elapsed time for major tasks:

**New Project**
&nbsp;|D#2|D#3|D#4|D#5|D#6|AVG.
-|-|-|-|-|-|-
Show Ready to use|43s|42s|32s|30s|31s|35.6s
Show Projcet View|2m32s|2m11s|2m08s|1m58s|2m12s|2m12s
OEM service<br>(Show reference)|2m01|1m42s|1m32s|1m31s|1m49s|2m31s
Index source files|7m33s|6m01s|6m14s|6m03s|7m21s|6m38s

<!--Initialize parser|22s|32s|17s|16s|16s|20.6s-->

**Load Project**
&nbsp;|D#1|D#2|D#3|AVG.
-|-|-|-|-
Show Ready to use|22s|21s|22s|21.7s
Show Projcet View|29s|25s|27s|27s
OEM service<br>(Show reference)|34s|34s|34s|34s
Index source files|33s|36s|42s|37s

<!--Init DSC Parser|15s|11s|12s|12.7s-->

:::info
* Git/Cscope: When the indexing is complete, it spends less time when loading a project.
* Test codebase: Whitley-5.41.51.0024
:::


**Heavy loading while loading project**
![](https://i.imgur.com/pTuA8K6.png)

### Concurrent tasks

<!--
```mermaid
gantt
    title Test 1
    dateFormat  HH:mm:s
    axisFormat  %Mm%Ss
    #section Section
    Show Ready to use:a1, 21:48:55, 21:49:25
    Show Project View:a2, 21:49:23, 21:49:25
    OEM Service-Show referenced is available: a3, 21:52:12, 21:54:01
    Index source files: a4, 21:51:26, 21:57:24
```
-->

```mermaid
gantt
    title Test 2(New)
    dateFormat  HH:mm:s
    axisFormat  %Mm%Ss
    #section Section
    Show Ready to use:a1, 20:11:38, 20:12:21
    Show Project View:a2, 20:12:18, 20:14:51
    OEM Service-Show referenced is available: a3, 20:15:38, 20:17:39
    Index source files: a4, 20:14:37, 20:22:10
```

```mermaid
gantt
    title Test 3(New)
    dateFormat  H:mm:s
    axisFormat  %Mm%Ss
    #section Section
    Show Ready to use:a1, 9:31:21, 9:32:03
    Show Project View:a2, 9:32:00, 9:34:11
    OEM Service-Show referenced is available: a3, 9:34:49, 9:36:30
    Index source files: a4, 9:34:03, 9:40:04
```

```mermaid
gantt
    title Test 4(New)
    dateFormat  H:mm:s
    axisFormat  %Mm%Ss
    #section Section
    Show Ready to use:a1, 9:45:21, 9:45:54
    Show Project View:a2, 9:45:52, 9:48:00
    OEM Service-Show referenced is available: a3, 9:48:46, 9:50:24
    Index source files: a4, 9:47:52, 9:54:06
```

```mermaid
gantt
    title Test 5(New)
    dateFormat  HH:mm:s
    axisFormat  %Mm%Ss
    #section Section
    Show Ready to use:a1, 10:09:21, 10:09:52
    Show Project View:a2, 10:09:49, 10:11:48
    OEM Service-Show referenced is available: a3, 10:12:20, 10:13:51
    Index source files: a4, 10:11:40, 10:17:43
```

```mermaid
gantt
    title Test 6(New)
    dateFormat  HH:mm:s
    axisFormat  %Mm%Ss
    #section Section
    Show Ready to use:a1, 10:30:36, 10:31:07
    Show Project View:a2, 10:31:05, 10:33:17
    OEM Service-Show referenced is available: a3, 10:34:06, 10:35:55
    Index source files: a4, 10:33:07, 10:40:28
```

```mermaid
gantt
    title Test 7(Load)
    dateFormat  HH:mm:s
    axisFormat  %Mm%Ss
    #section Section
    Show Ready to use:a1, 11:12:45, 11:13:07
    Show Project View:a2, 11:13:06, 11:13:34
    OEM Service-Show referenced is available: a3, 11:14:29, 11:15:03
    Index source files: a4, 11:13:24, 11:13:56
```

```mermaid
gantt
    title Test 8(Load)
    dateFormat  HH:mm:s
    axisFormat  %Mm%Ss
    #section Section
    Show Ready to use:a1, 11:24:40, 11:25:01
    Show Project View:a2, 11:24:59, 11:25:24
    OEM Service-Show referenced is available: a3, 11:26:21, 11:26:55
    Index source files: a4, 11:25:13, 11:25:49
```

```mermaid
gantt
    title Test 9(Load)
    dateFormat  HH:mm:s
    axisFormat  %Mm%Ss
    #section Section
    Show Ready to use:a1, 11:27:53, 11:28:15
    Show Project View:a2, 11:28:13, 11:28:41
    OEM Service-Show referenced is available: a3, 11:29:37, 11:30:11
    Index source files: a4, 11:28:29, 11:29:11
```