---
# System prepended metadata

title: zlib notes

---

# zlib notes

- benchmarking infra
    Ik heb al geprobeerd om iets van profiling op de zlib-ng code te doen, maar heb nog geen line info kunnen krijgen (met callgrind iig).

- C interface 
    dit kan iemand gewoon uitschrijven op basis van de zlib documentatie. een aantal functies zijn ook al te implementeren, voor anderen komt je niet veel verder dan het type in het begin. dat is prima. Met deze basis (onze externe API die we sws moeten behouden) kunnen we dan nadenken over hoe we het intern mooier kunnen maken (slices ipv pointers etc)

- bindings voor zlib-ng
    voor onzer fuzzer etc is het handig om vanuit rust te C interface van zlib-ng te kunnen gebruiken. Daar zijn dus wat bindings voor nodig. Die kunnen dan meteen onze C interface types gebruiken en dan is de api consistent tussen de twee.

- inflate
    eerst inflate lijkt mij goed om die huffman trees wat in de vingers te krijgen. er zit minder vrijheid in de implementatie want er is gewoon één goed antwoord. 

- no_std
    In principe moet dat kunnen, want de user geeft de allocatiemethodes mee. Zijn er redenen om dat niet gewoon meteen aan te zetten (ook om zeker te weten dat we geen stiekeme allocaties met de system allocator doen)


- repo van ISRG weer?
- hardware heeft levertijd, wanneer doen we daar wat mee?

