ObjFW  Diff

Differences From Artifact [5a4773192e]:

  • File src/OFObject.h — part of check-in [28170f5f65] at 2012-03-15 11:29:24 on branch trunk — Greatly improve OFObject's memory handling and performance.

    A linked-list is put before each memory chunk allocated instead of
    having an array of all memory chunks. This means only one malloc now
    instead of one malloc and one realloc. This also means that when
    checking reallocs and frees, it's no longer necessary to iterate through
    all memory chunks, as the linked list also contains the owner, meaning
    realloc and free are no longer O(n), but O(1) now.

    As allocating bigger chunks seems to be a little bit slower than smaller
    chunks, it seems that this is slightly slower in benchmarks if only very small
    chunks are allocated. However, measuring real world usage, it's a lot faster. (user: js, size: 15956) [annotate] [blame] [check-ins using]

To Artifact [9620b63ed6]:


596
597
598
599
600
601
602


603
604
605
#import "OFObject+Serialization.h"

#ifdef __cplusplus
extern "C" {
#endif
extern size_t of_pagesize;
extern size_t of_num_cpus;


#ifdef __cplusplus
}
#endif







>
>



596
597
598
599
600
601
602
603
604
605
606
607
#import "OFObject+Serialization.h"

#ifdef __cplusplus
extern "C" {
#endif
extern size_t of_pagesize;
extern size_t of_num_cpus;
extern id of_alloc_object(Class class_, size_t extraSize, size_t extraAlignment,
    void **extra);
#ifdef __cplusplus
}
#endif