• Deep reading: in depth C + + memory management


    introduction When it comes to memory management in C + +, we may think of local variables in stack space, dynamically allocated variables on the heap through new, and variables in global namespace. The allocation location of these variables is controlled and managed by the system, while the caller only needs to consider the life […]

  • The growth factor of vector in C + +


    We all know what C + + doesvectorThe capacity of will increase automatically with the added elements, but how much does it increase each time? Twice the original? triple? Or how much? Next, let’s study how the growth factor is determined. First of all, I want to elaborate a problemvectorRealization related facts:vectoruseallocatorInstead ofreallocSo, no matter […]

  • Go memory allocator


    readNotes on the touranddravenessSummary of memory management of go technological processThe user program obtains new memory space from heap through allocator,Reclaim space through collector distributorGo uses free list allocator to allocate memory, and adopts isolation adaptation method Free list allocatorWhen the user program applies for memory, the free list allocator will traverse the free memory […]

  • Technology dry goods locate the memory leak problem of C / C + + by wrap malloc


    Abstract:The program developed with C / C + + is very efficient, but it is often troubled by memory leakage. This paper provides a way to find memory leaves through wrap malloc. The program developed with C / C + + is very efficient, but it is often troubled by memory leakage. This paper provides […]

  • How openresty and nginx allocate and manage memory


    OpenResty®Open source web platform tohighPerformance andlowMemory footprint. Some of our users even run complex openresty applications in embedded systems, such as robots. There are also some users who have migrated their applications from other technology stacks (such as Java, nodejs and PHP) to openresty and observed a significant decline in memory usage. However, sometimes we […]

  • Detailed explanation of memory allocation


    brief introduction Another major topic of golang runtime is memory allocator. Memory allocation strategy is closely related to coroutine stack, heap and GC. It is similar to TC malloc; The span mechanism is used to reduce the memory fragmentation. Each span is at least one page (one page in go is 8KB) and the size […]

  • Flink stream processing concept — time Semantics — trigger


    Window operation of Flink For Flink’s window operation, especially the window operation based on event time, we still need to master three important knowledge points: Window allocator: it determines which window the data flowing into the Flink belongs to. Timestamp extractor / watermark generator: extracts time stamp and drives the program to execute normally. Trigger: […]

  • Memory management optimization (swstring)


    The latest optimization reduces the number ofrecv_bufferreachphp zvalMemory forcopyFromrecv_bufferBecomePHPLayeredstringType variable, equivalent to directly from theSocketRead in receive bufferPHPLayer. GitHub PR:https://github.com/swoole/swoole-src/pull/3423 Swstring structure typedef struct _swString { size_t length; size_t size; off_t offset; char *str; const swAllocator *allocator; } swString; In design, the functions of these fields are as follows: size: memory capacity lengthappendDuring the write […]

  • Detailed explanation of Flink window mechanism


    Windows is the core of processing wireless data stream. It divides the stream into buckets of finite size and performs various calculations on it. The structure of windowed Flink program is usually as follows, including two types: keyed streams and non keyed streams. The difference between them is that they are called in the packet […]

  • Real time is the future? Flow computing in the heart of a small and micro enterprise


    Abstract: This paper is shared by Mr. Tang duo, a technical team of Mozhi. It mainly describes the whole process of introducing stream computing within the technical team, including the initial decision-making, the choice during the period and the final landing. Along the way, their thinking, perception and experience sharing have been shared. Meet Flink […]

  • Install CentOS from scratch and configure redis, the front end is OK!!!


    Install CentOS from scratch and configure redis 1. New virtual machine 2. Select the system image you want to install later 3. Choose CentOS 7 under Linux 4. Name the virtual machine you want to install and choose the installation location 5. Configure the size of the disk 6. Complete 7. Configure the image and […]

  • [sequoiadb] implementation of concurrent malloc for tech | sequoiadb


    This paper is written by the senior database architect of Jushan database North America laboratory. It mainly introduces the implementation and architecture design of concurrent malloc of Jushan database. __The original text is written in English. We provide a Chinese translation after English. SequoiaDB Concurrent malloc Implementation Introduction In a C/C++ application, the dynamic memory […]