<div dir="ltr">Hello, I'm Lyamin Vladimir. First-year master of St. Petersburg State University. I decided to optimize the running time of the pcmk__unpack_constraints function, since there is a loop over all the data here. I decided to use a hash table to optimize this.<div><br><div>A hash table structure has been added, as well as functions to manage it.<br>pe_resource_t* compareKey(const char* key, struct set *array);<br>int getHash(const char *S);<br>void push(Node **head, pe_resource_t* data);<br>void insert(char* key, pe_resource_t* data, struct set *array);<br>void init_array(struct set **array);<br>void insert_children(pe_resource_t * rsc, struct set *hashTable);<br><br>Existing functions have also been changed: pcmk__unpack_constraints (initialization of the hash table) and pcmk__find_constraint_resource (search for the desired resource)<br></div></div></div>