-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTODOs.txt
29 lines (29 loc) · 1.51 KB
/
TODOs.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
* Update instructions to use -C instead of -f.
* Switch to relative paths in includes.
- Then clangd can work without any compile file/database.
* Check if -g is needed in all compilation commands to enable debugging.
- Will also need to delete <executable>.dSYM/ in the output dir.
* Refactor data structures so they're impls that require typed layers.
- Goal is to avoid struct allocation, only allocate underlying buffer.
- Try structs + function pointers.
- But more likely will need generic impls, with define wrappers for each type.
- Otherwise will need to continue with struct allocation.
- Data Structures
* Create "array_map" (associative array, without hashing).
* Create "array_list".
* Create "hash_map".
* Switch to size_t instead of int when applicable.
* Figure out if ArrayDeque needs realloc or malloc for storage resizing.
* Switch from malloc to calloc?
- Slower but will prevent getting non-0 values at the begining.
* Change ArrayDeque storage to be last field so I can do single allocation?
* Switch from int to uintx_t from stdint.h?
* Make a no pointer/malloc version of data structures.
- Either stack based or using handles (IDs).
* Adopt IWYU.
- https://github.com/include-what-you-use/include-what-you-use
- https://cmake.org/cmake/help/latest/prop_tgt/LANG_INCLUDE_WHAT_YOU_USE.html
* Who is reponsible for freeing elements stored in ArrayDeque?
* Code all these allocators:
- https://www.gingerbill.org/series/memory-allocation-strategies/
* Re-structure Makefiles to allow for caching.