Buckets:
| /* | |
| * Copyright 2011 The Emscripten Authors. All rights reserved. | |
| * Emscripten is available under two separate licenses, the MIT license and the | |
| * University of Illinois/NCSA Open Source License. Both these licenses can be | |
| * found in the LICENSE file. | |
| */ | |
| // Emscripten tests | |
| int main(int ac, char **av) { | |
| int NUM = ac > 1 ? atoi(av[1]) : 0; | |
| int REPS = ac > 2 ? atoi(av[2]) : 0; | |
| int c1 = 0, c2 = 0; | |
| for (int x = 0; x < REPS; x++) { | |
| char* allocations[NUM]; | |
| for (int i = 0; i < NUM/2; i++) { | |
| allocations[i] = (char*)malloc((11*i)%1024 + x); | |
| assert(allocations[i]); | |
| if (i > 10 && i%4 == 1 && allocations[i-10]) { | |
| free(allocations[i-10]); | |
| allocations[i-10] = NULL; | |
| } | |
| } | |
| for (int i = NUM/2; i < NUM; i++) { | |
| allocations[i] = (char*)malloc(1024*(i+1)); | |
| assert(allocations[i]); | |
| if (i > 10 && i%4 != 1 && allocations[i-10]) { | |
| free(allocations[i-10]); | |
| allocations[i-10] = NULL; | |
| } | |
| } | |
| char* first = allocations[0]; | |
| for (int i = 0; i < NUM; i++) { | |
| if (allocations[i]) { | |
| free(allocations[i]); | |
| } | |
| } | |
| char *last = (char*)malloc(512); // should be identical, as we free'd it all | |
| char *newer = (char*)malloc(512); // should be different | |
| c1 += first == last; | |
| c2 += first == newer; | |
| } | |
| emscripten_console_logf("*%d,%d*\n", c1, c2); | |
| } | |
Xet Storage Details
- Size:
- 1.45 kB
- Xet hash:
- 49f646381602b07fdc37f44b30c7b8d5a37627fb63920054ea69f5a3f13d7829
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.