Commit eb1cc1cd authored by Phuong Khanh Tran's avatar Phuong Khanh Tran
Browse files

Merge branch '4-efficiency' into 'master'

Resolve "Efficiency"

Closes #4

See merge request ec504/ec504_projects/group4!4
parents 22775afd a92c8d02
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -31,5 +31,6 @@ bin/
.idea/
*.db
*.bin

*.txt
*.pyc
+29 −10
Original line number Diff line number Diff line
#include <dirent.h>

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#include <time.h>

static char cmd_find[] = "./md --findMolecule testcases/new_molecules/";

int main(void)
{
    // clock_t start = clock();
    for (int i = 0; i < 10000; i++)
    clock_t start = clock();

    DIR *molecule_directory;
    molecule_directory = opendir("testcases/new_molecules/");

    struct dirent *molecule;

    char cmd_buffer[80];
    strcpy(cmd_buffer, cmd_find);

    if (molecule_directory)
    {
        system("./md --addMolecule Molecules/acetylene.txt");
    }
    for (int i = 0; i < 10000; i++)
        while ((molecule = readdir(molecule_directory)) != NULL)
        {
            if (molecule->d_type == DT_REG)
            {
        system("./md --findMolecule Molecules/biotin.txt");
                strcpy(&cmd_buffer[sizeof(cmd_find) - 1], molecule->d_name);
                system(cmd_buffer);
            }
        }
    // clock_t diff = clock() - start;
    // int m_sec = diff * 1000 / CLOCKS_PER_SEC;
    // printf("time taken %d seconds %d milliseconds\n", m_sec/1000, m_sec % 1000);
        closedir(molecule_directory);
    }

    clock_t diff = clock() - start;
    int m_sec = diff * 1000 / CLOCKS_PER_SEC;
    printf("time taken %d seconds %d milliseconds\n", m_sec / 1000, m_sec % 1000);
    return 0;
}

compile_database.c

0 → 100644
+32 −0
Original line number Diff line number Diff line
#include <dirent.h>

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

static char cmd_add[] = "./md --addMolecule testcases/molecules/";

int main(void)
{
    DIR *molecule_directory;
    molecule_directory = opendir("testcases/molecules/");

    struct dirent *molecule;

    char cmd_buffer[80];
    strcpy(cmd_buffer, cmd_add);

    if (molecule_directory)
    {
        while ((molecule = readdir(molecule_directory)) != NULL)
        {
            if (molecule->d_type == DT_REG)
            {
                strcpy(&cmd_buffer[sizeof(cmd_add) - 1], molecule->d_name);
                system(cmd_buffer);
            }
        }
        closedir(molecule_directory);
    }
    return 0;
}
+5 −2
Original line number Diff line number Diff line
make: benchmark.c
benchmark: benchmark.c
	gcc -g -O3 -Wall -o benchmark.bin benchmark.c

database: compile_database.c
	gcc -g -O3 -Wall -o compile_database.bin compile_database.c
 No newline at end of file
+1.62 KiB (14.7 KiB)

File changed.

No diff preview for this file type.

Loading