23.04.2020, 02:01
Bom tutorial, bem explicado.
Fiz um breve bench de algumas includes para complementar.
Nгo й totalmente preciso, mas da pra ter uma base.
Cуdigo:
Fiz um breve bench de algumas includes para complementar.
Nгo й totalmente preciso, mas da pra ter uma base.
Quote:
--------- Benchmark --------- Include: Bini | Mйtodo: Escrita | Mйdia: 111ms Include: Bini | Mйtodo: Leitura | Mйdia: 1ms Include: Dof2 | Mйtodo: Escrita | Mйdia: 103ms Include: Dof2 | Mйtodo: Leitura | Mйdia: 7ms Include: Dini | Mйtodo: Escrita | Mйdia: 4137ms Include: Dini | Mйtodo: Leitura | Mйdia: 71ms Include: Dini2 | Mйtodo: Escrita | Mйdia: 126ms Include: Dini2 | Mйtodo: Leitura | Mйdia: 2ms Include: bCini | Mйtodo: Escrita | Mйdia: 1877ms Include: bCini | Mйtodo: Leitura | Mйdia: 67ms --------- Fim Benchmark --------- |
Code:
print("\n\n\n--------- Benchmark ---------\n"); new tentat[10], tempo[2], media; for(new tentativas = 0; tentativas < 10; tentativas ++) { tempo[0] = GetTickCount(); for(new teste = 0; teste < 100; teste ++) { INI_Open("bini.txt"); INI_WriteString("bini.txt", "key_1", "valor1"); INI_WriteString("bini.txt", "key_2", "valor2"); INI_WriteString("bini.txt", "key_3", "valor3"); INI_WriteString("bini.txt", "key_4", "valor4"); INI_WriteString("bini.txt", "key_5", "valor5"); INI_WriteFloat("bini.txt", "key_6", 999.00); INI_WriteFloat("bini.txt", "key_7", 999.00); INI_WriteFloat("bini.txt", "key_8", 999.00); INI_WriteFloat("bini.txt", "key_9", 999.00); INI_WriteFloat("bini.txt", "key_10", 999.00); INI_WriteInt("bini.txt", "key_11", 999); INI_WriteInt("bini.txt", "key_12", 999); INI_WriteInt("bini.txt", "key_13", 999); INI_WriteInt("bini.txt", "key_14", 999); INI_WriteInt("bini.txt", "key_15", 999); INI_Save(); } tempo[1] = GetTickCount(); tentat[tentativas] = tempo[1] - tempo[0]; } for(new tentativas = 0; tentativas < 10; tentativas ++) media += tentat[tentativas]; printf("Include: Bini | Mйtodo: Escrita | Mйdia: %ims", media / 10); media = 0; for(new tentativas = 0; tentativas < 10; tentativas ++) { tempo[0] = GetTickCount(); for(new teste = 0; teste < 100; teste ++) { INI_Open("bini.txt"); INI_ReadString("bini.txt", "key_1"); INI_ReadString("bini.txt", "key_2"); INI_ReadString("bini.txt", "key_3"); INI_ReadString("bini.txt", "key_4"); INI_ReadString("bini.txt", "key_5"); INI_ReadFloat("bini.txt", "key_6"); INI_ReadFloat("bini.txt", "key_7"); INI_ReadFloat("bini.txt", "key_8"); INI_ReadFloat("bini.txt", "key_9"); INI_ReadFloat("bini.txt", "key_10"); INI_ReadInt("bini.txt", "key_11"); INI_ReadInt("bini.txt", "key_12"); INI_ReadInt("bini.txt", "key_13"); INI_ReadInt("bini.txt", "key_14"); INI_ReadInt("bini.txt", "key_15"); } tempo[1] = GetTickCount(); tentat[tentativas] = tempo[1] - tempo[0]; } for(new tentativas = 0; tentativas < 10; tentativas ++) media += tentat[tentativas]; printf("Include: Bini | Mйtodo: Leitura | Mйdia: %ims\n", media / 10); media = 0; for(new tentativas = 0; tentativas < 10; tentativas ++) { tempo[0] = GetTickCount(); for(new teste = 0; teste < 100; teste ++) { if(!DOF2::FileExists("dof2.txt")) DOF2::CreateFile("dof2.txt"); DOF2::SetString("dof2.txt", "key_1", "valor1"); DOF2::SetString("dof2.txt", "key_2", "valor2"); DOF2::SetString("dof2.txt", "key_3", "valor3"); DOF2::SetString("dof2.txt", "key_4", "valor4"); DOF2::SetString("dof2.txt", "key_5", "valor5"); DOF2::SetFloat("dof2.txt", "key_6", 999.00); DOF2::SetFloat("dof2.txt", "key_7", 999.00); DOF2::SetFloat("dof2.txt", "key_8", 999.00); DOF2::SetFloat("dof2.txt", "key_9", 999.00); DOF2::SetFloat("dof2.txt", "key_10", 999.00); DOF2::SetInt("dof2.txt", "key_11", 999); DOF2::SetInt("dof2.txt", "key_12", 999); DOF2::SetInt("dof2.txt", "key_13", 999); DOF2::SetInt("dof2.txt", "key_14", 999); DOF2::SetInt("dof2.txt", "key_15", 999); DOF2::SaveFile(); } tempo[1] = GetTickCount(); tentat[tentativas] = tempo[1] - tempo[0]; } for(new tentativas = 0; tentativas < 10; tentativas ++) media += tentat[tentativas]; printf("Include: Dof2 | Mйtodo: Escrita | Mйdia: %ims", media / 10); media = 0; for(new tentativas = 0; tentativas < 10; tentativas ++) { tempo[0] = GetTickCount(); for(new teste = 0; teste < 100; teste ++) { if(!DOF2::FileExists("dof2.txt")) DOF2::CreateFile("dof2.txt"); DOF2::GetString("dof2.txt", "key_1"); DOF2::GetString("dof2.txt", "key_2"); DOF2::GetString("dof2.txt", "key_3"); DOF2::GetString("dof2.txt", "key_4"); DOF2::GetString("dof2.txt", "key_5"); DOF2::GetFloat("dof2.txt", "key_6"); DOF2::GetFloat("dof2.txt", "key_7"); DOF2::GetFloat("dof2.txt", "key_8"); DOF2::GetFloat("dof2.txt", "key_9"); DOF2::GetFloat("dof2.txt", "key_10"); DOF2::GetInt("dof2.txt", "key_11"); DOF2::GetInt("dof2.txt", "key_12"); DOF2::GetInt("dof2.txt", "key_13"); DOF2::GetInt("dof2.txt", "key_14"); DOF2::GetInt("dof2.txt", "key_15"); } tempo[1] = GetTickCount(); tentat[tentativas] = tempo[1] - tempo[0]; } for(new tentativas = 0; tentativas < 10; tentativas ++) media += tentat[tentativas]; printf("Include: Dof2 | Mйtodo: Leitura | Mйdia: %ims\n", media / 10); media = 0; for(new tentativas = 0; tentativas < 10; tentativas ++) { tempo[0] = GetTickCount(); for(new teste = 0; teste < 100; teste ++) { if(!dini_Exists("dini.txt")) dini_Create("dini.txt"); dini_Set("dini.txt", "key_1", "valor1"); dini_Set("dini.txt", "key_2", "valor2"); dini_Set("dini.txt", "key_3", "valor3"); dini_Set("dini.txt", "key_4", "valor4"); dini_Set("dini.txt", "key_5", "valor5"); dini_FloatSet("dini.txt", "key_6", 999.00); dini_FloatSet("dini.txt", "key_7", 999.00); dini_FloatSet("dini.txt", "key_8", 999.00); dini_FloatSet("dini.txt", "key_9", 999.00); dini_FloatSet("dini.txt", "key_10", 999.00); dini_IntSet("dini.txt", "key_11", 999); dini_IntSet("dini.txt", "key_12", 999); dini_IntSet("dini.txt", "key_13", 999); dini_IntSet("dini.txt", "key_14", 999); dini_IntSet("dini.txt", "key_15", 999); } tempo[1] = GetTickCount(); tentat[tentativas] = tempo[1] - tempo[0]; } for(new tentativas = 0; tentativas < 10; tentativas ++) media += tentat[tentativas]; printf("Include: Dini | Mйtodo: Escrita | Mйdia: %ims", media / 10); media = 0; for(new tentativas = 0; tentativas < 10; tentativas ++) { tempo[0] = GetTickCount(); for(new teste = 0; teste < 100; teste ++) { if(!dini_Exists("dini.txt")) dini_Create("dini.txt"); dini_Get("dini.txt", "key_1"); dini_Get("dini.txt", "key_2"); dini_Get("dini.txt", "key_3"); dini_Get("dini.txt", "key_4"); dini_Get("dini.txt", "key_5"); dini_Float("dini.txt", "key_6"); dini_Float("dini.txt", "key_7"); dini_Float("dini.txt", "key_8"); dini_Float("dini.txt", "key_9"); dini_Float("dini.txt", "key_10"); dini_Int("dini.txt", "key_11"); dini_Int("dini.txt", "key_12"); dini_Int("dini.txt", "key_13"); dini_Int("dini.txt", "key_14"); dini_Int("dini.txt", "key_15"); } tempo[1] = GetTickCount(); tentat[tentativas] = tempo[1] - tempo[0]; } for(new tentativas = 0; tentativas < 10; tentativas ++) media += tentat[tentativas]; printf("Include: Dini | Mйtodo: Leitura | Mйdia: %ims\n", media / 10); media = 0; for(new tentativas = 0; tentativas < 10; tentativas ++) { tempo[0] = GetTickCount(); for(new teste = 0; teste < 100; teste ++) { if(!dini2_Exists("dini2.txt")) dini2_Create("dini2.txt"); dini2_Set("dini2.txt", "key_1", "valor1"); dini2_Set("dini2.txt", "key_2", "valor2"); dini2_Set("dini2.txt", "key_3", "valor3"); dini2_Set("dini2.txt", "key_4", "valor4"); dini2_Set("dini2.txt", "key_5", "valor5"); dini2_FloatSet("dini2.txt", "key_6", 999.00); dini2_FloatSet("dini2.txt", "key_7", 999.00); dini2_FloatSet("dini2.txt", "key_8", 999.00); dini2_FloatSet("dini2.txt", "key_9", 999.00); dini2_FloatSet("dini2.txt", "key_10", 999.00); dini2_IntSet("dini2.txt", "key_11", 999); dini2_IntSet("dini2.txt", "key_12", 999); dini2_IntSet("dini2.txt", "key_13", 999); dini2_IntSet("dini2.txt", "key_14", 999); dini2_IntSet("dini2.txt", "key_15", 999); dini2_Timeout("dini2.txt"); } tempo[1] = GetTickCount(); tentat[tentativas] = tempo[1] - tempo[0]; } for(new tentativas = 0; tentativas < 10; tentativas ++) media += tentat[tentativas]; printf("Include: Dini2 | Mйtodo: Escrita | Mйdia: %ims", media / 10); media = 0; for(new tentativas = 0; tentativas < 10; tentativas ++) { tempo[0] = GetTickCount(); for(new teste = 0; teste < 100; teste ++) { if(!dini2_Exists("dini2.txt")) dini2_Create("dini2.txt"); dini2_Get("dini2.txt", "key_1"); dini2_Get("dini2.txt", "key_2"); dini2_Get("dini2.txt", "key_3"); dini2_Get("dini2.txt", "key_4"); dini2_Get("dini2.txt", "key_5"); dini2_Float("dini2.txt", "key_6"); dini2_Float("dini2.txt", "key_7"); dini2_Float("dini2.txt", "key_8"); dini2_Float("dini2.txt", "key_9"); dini2_Float("dini2.txt", "key_10"); dini2_Int("dini2.txt", "key_11"); dini2_Int("dini2.txt", "key_12"); dini2_Int("dini2.txt", "key_13"); dini2_Int("dini2.txt", "key_14"); dini2_Int("dini2.txt", "key_15"); } tempo[1] = GetTickCount(); tentat[tentativas] = tempo[1] - tempo[0]; } for(new tentativas = 0; tentativas < 10; tentativas ++) media += tentat[tentativas]; printf("Include: Dini2 | Mйtodo: Leitura | Mйdia: %ims\n", media / 10); media = 0; for(new tentativas = 0; tentativas < 10; tentativas ++) { tempo[0] = GetTickCount(); for(new teste = 0; teste < 100; teste ++) { if(!bCini_Existe("bcini.txt")) bCini_Criar("bcini.txt"); bCini_SetarTexto("bcini.txt", "key_1", "valor1"); bCini_SetarTexto("bcini.txt", "key_2", "valor2"); bCini_SetarTexto("bcini.txt", "key_3", "valor3"); bCini_SetarTexto("bcini.txt", "key_4", "valor4"); bCini_SetarTexto("bcini.txt", "key_5", "valor5"); bCini_SetarFloat("bcini.txt", "key_6", 999.00); bCini_SetarFloat("bcini.txt", "key_7", 999.00); bCini_SetarFloat("bcini.txt", "key_8", 999.00); bCini_SetarFloat("bcini.txt", "key_9", 999.00); bCini_SetarFloat("bcini.txt", "key_10", 999.00); bCini_SetarInt("bcini.txt", "key_11", 999); bCini_SetarInt("bcini.txt", "key_12", 999); bCini_SetarInt("bcini.txt", "key_13", 999); bCini_SetarInt("bcini.txt", "key_14", 999); bCini_SetarInt("bcini.txt", "key_15", 999); } tempo[1] = GetTickCount(); tentat[tentativas] = tempo[1] - tempo[0]; } for(new tentativas = 0; tentativas < 10; tentativas ++) media += tentat[tentativas]; printf("Include: bCini | Mйtodo: Escrita | Mйdia: %ims", media / 10); media = 0; for(new tentativas = 0; tentativas < 10; tentativas ++) { tempo[0] = GetTickCount(); for(new teste = 0; teste < 100; teste ++) { if(!bCini_Existe("bcini.txt")) bCini_Criar("dini.txt"); bCini_GetarTexto("bcini.txt", "key_1"); bCini_GetarTexto("bcini.txt", "key_2"); bCini_GetarTexto("bcini.txt", "key_3"); bCini_GetarTexto("bcini.txt", "key_4"); bCini_GetarTexto("bcini.txt", "key_5"); bCini_GetarFloat("bcini.txt", "key_6"); bCini_GetarFloat("bcini.txt", "key_7"); bCini_GetarFloat("bcini.txt", "key_8"); bCini_GetarFloat("bcini.txt", "key_9"); bCini_GetarFloat("bcini.txt", "key_10"); bCini_GetarInt("bcini.txt", "key_11"); bCini_GetarInt("bcini.txt", "key_12"); bCini_GetarInt("bcini.txt", "key_13"); bCini_GetarInt("bcini.txt", "key_14"); bCini_GetarInt("bcini.txt", "key_15"); } tempo[1] = GetTickCount(); tentat[tentativas] = tempo[1] - tempo[0]; } for(new tentativas = 0; tentativas < 10; tentativas ++) media += tentat[tentativas]; printf("Include: bCini | Mйtodo: Leitura | Mйdia: %ims\n", media / 10); print("\n--------- Fim Benchmark ---------\n\n\n");