xdelta.c (302408) | xdelta.c (362181) |
---|---|
1/* 2 * xdelta.c: xdelta generator. 3 * 4 * ==================================================================== 5 * Licensed to the Apache Software Foundation (ASF) under one 6 * or more contributor license agreements. See the NOTICE file 7 * distributed with this work for additional information 8 * regarding copyright ownership. The ASF licenses this file --- 97 unchanged lines hidden (view full) --- 106/* Information for a block of the delta source. The length of the 107 block is the smaller of MATCH_BLOCKSIZE and the difference between 108 the size of the source data and the position of this block. */ 109struct block 110{ 111 apr_uint32_t adlersum; 112 113/* Even in 64 bit systems, store only 32 bit offsets in our hash table | 1/* 2 * xdelta.c: xdelta generator. 3 * 4 * ==================================================================== 5 * Licensed to the Apache Software Foundation (ASF) under one 6 * or more contributor license agreements. See the NOTICE file 7 * distributed with this work for additional information 8 * regarding copyright ownership. The ASF licenses this file --- 97 unchanged lines hidden (view full) --- 106/* Information for a block of the delta source. The length of the 107 block is the smaller of MATCH_BLOCKSIZE and the difference between 108 the size of the source data and the position of this block. */ 109struct block 110{ 111 apr_uint32_t adlersum; 112 113/* Even in 64 bit systems, store only 32 bit offsets in our hash table |
114 (our delta window size much much smaller then 4GB). | 114 (our delta window size much much smaller than 4GB). |
115 That reduces the hash table size by 50% from 32to 16KB 116 and makes it easier to fit into the CPU's L1 cache. */ 117 apr_uint32_t pos; /* NO_POSITION -> block is not used */ 118}; 119 120/* A hash table, using open addressing, of the blocks of the source. */ 121struct blocks 122{ --- 374 unchanged lines hidden --- | 115 That reduces the hash table size by 50% from 32to 16KB 116 and makes it easier to fit into the CPU's L1 cache. */ 117 apr_uint32_t pos; /* NO_POSITION -> block is not used */ 118}; 119 120/* A hash table, using open addressing, of the blocks of the source. */ 121struct blocks 122{ --- 374 unchanged lines hidden --- |