diff --git a/a.out b/a.out
new file mode 100644
index 0000000000000000000000000000000000000000..084f7f8236acf30cbcab421912deff1446c6b235
Binary files /dev/null and b/a.out differ
diff --git a/fila_edu_cir.c b/fila_edu_cir.c
index 48a739e4fdc4a7b0e3d9aadee95e5715b19d961d..a252912eb6ba0456860291779c7a76aa11ed852c 100644
--- a/fila_edu_cir.c
+++ b/fila_edu_cir.c
@@ -1,5 +1,6 @@
 #include <stdio.h>
 #include <stdlib.h>
+#include <time.h>
 
 //Fila feita com vetor circular 
 
@@ -54,6 +55,29 @@ void destroi(struct Fila *fila) {
 }
 
 int main() {
+/* PRIMEIRA FILA TEMPO */
+    struct Fila *fila1 = cria(500);
+    struct timespec inicio, fim;
+    clock_gettime(CLOCK_MONOTONIC, &inicio);
+
+        // Teste com várias inserções e remoções
+    // Vamos fazer 1000000 operações de enfileiramento e desenfileiramento para medir a performance
+    for (int i = 0; i < 1000000; i++) {
+        if (fila1->tamanho < fila1->capacidade) { // Insere metade das vezes
+            insere(fila1, (float) i);
+        }
+        if (i % 2 == 0 && fila1->tamanho > 0) { // Remove metade das vezes
+            remove_fila(fila1);
+        }
+    }
+
+        // Captura o timestamp após as operações
+    clock_gettime(CLOCK_MONOTONIC, &fim);
+    double tempo_gasto = (fim.tv_sec - inicio.tv_sec) + (fim.tv_nsec - inicio.tv_nsec) / 1000000000.0;    
+    printf("Tempo gasto: %.2f segundos\n", tempo_gasto);
+    destroi(fila1);
+
+/* SEGUNDA FILA */
     struct Fila *fila = cria(5);
     insere(fila, 1);
     insere(fila, 2);
diff --git a/fila_edu_vetor_ot.c b/fila_edu_vetor_ot.c
index a00d7286ad4be2d76b820bbc4cb63905a51422b3..9ed044b945d11c4ed94f658505283102907dfd4a 100644
--- a/fila_edu_vetor_ot.c
+++ b/fila_edu_vetor_ot.c
@@ -1,5 +1,6 @@
 #include <stdio.h>
 #include <stdlib.h>
+#include <time.h>
 
 //Fila feita com vetor linear otimizado, ou seja, desloca elementos para esquerda quando o fim chega ao final do vetor
 
@@ -72,6 +73,31 @@ void destroi(struct Fila *fila) {
 }
 
 int main() {
+
+/* PRIMEIRA FILA TEMPO */
+    struct Fila *fila1 = cria(500);
+    struct timespec inicio, fim;
+    clock_gettime(CLOCK_MONOTONIC, &inicio);
+
+        // Teste com várias inserções e remoções
+    // Vamos fazer 1000000 operações de enfileiramento e desenfileiramento para medir a performance
+    for (int i = 0; i < 1000000; i++) {
+        if (fila1->tamanho < fila1->capacidade) { // Insere metade das vezes
+            insere(fila1, (float) i);
+        }
+        if (i % 2 == 0 && fila1->tamanho > 0) { // Remove metade das vezes
+            remove_fila(fila1);
+        }
+    }
+    clock_gettime(CLOCK_MONOTONIC, &fim);
+    double tempo_gasto = (fim.tv_sec - inicio.tv_sec) + (fim.tv_nsec - inicio.tv_nsec) / 1000000000.0;    
+    printf("Tempo gasto: %.2f segundos\n", tempo_gasto);
+
+    destroi(fila1);
+
+/*SEGUNDA FILA TEMPO*/
+
+
     struct Fila *fila = cria(5);
     insere(fila, 1);
     insere(fila, 2);
diff --git a/fila_edu_vetor_simples.c b/fila_edu_vetor_simples.c
index 512924b6dade9126e73e5ab9ddd0197e318b75c5..b3607227817a989e007f910b550ebca75a26ede6 100644
--- a/fila_edu_vetor_simples.c
+++ b/fila_edu_vetor_simples.c
@@ -1,5 +1,6 @@
 #include <stdio.h>
 #include <stdlib.h>
+#include <time.h>
 
 //Fila feita com vetor linear simples, ou seja, a cada remoção, move-se os elementos do vetor
 
@@ -57,6 +58,31 @@ void destroi(struct Fila *fila) {
 }
 
 int main() {
+/* PRIMEIRA FILA TEMPO */
+
+    struct Fila *fila1 = cria(500);
+    struct timespec inicio, fim;
+    clock_gettime(CLOCK_MONOTONIC, &inicio);
+
+        // Teste com várias inserções e remoções
+    // Vamos fazer 1000000 operações de enfileiramento e desenfileiramento para medir a performance
+    for (int i = 0; i < 1000000; i++) {
+        if (fila1->tamanho < fila1->capacidade) { // Insere metade das vezes
+            insere(fila1, (float) i);
+        }
+        if (i % 2 == 0 && fila1->tamanho > 0) { // Remove metade das vezes
+            remove_fila(fila1);
+        }
+    }
+
+    // Captura o timestamp após as operações
+    clock_gettime(CLOCK_MONOTONIC, &fim);
+    double tempo_gasto = (fim.tv_sec - inicio.tv_sec) + (fim.tv_nsec - inicio.tv_nsec) / 1000000000.0;    
+    printf("Tempo gasto: %.2f segundos\n", tempo_gasto);
+    destroi(fila1);
+/*SEGUNDA FILA*/
+
+
     struct Fila *fila = cria(5);
     insere(fila, 1);
     insere(fila, 2);