Commit Graph
100 Commits
Author SHA1 Message Date
Paul Cruz bef5eda8d9 const vars, change copy_literals() to only take size_t literal_length 2017-08-16 11:11:52 -07:00
Paul Cruz 733ca51360 Updating README.md 2017-08-15 17:48:23 -07:00
Paul Cruz 8d3f18af2c renamed IO functions for clarity 2017-08-14 17:51:51 -07:00
Paul Cruz 6aebcfa0bc added comments for new functions 2017-08-14 15:11:01 -07:00
Paul Cruz 9d56c21279 added separate function for executing match copy command 2017-08-14 15:06:03 -07:00
Paul Cruz d3e57db0bd created separate function for offset computation 2017-08-14 14:20:12 -07:00
Paul Cruz b6d6be58c9 created separate function for copying literals during sequence execution 2017-08-14 14:05:16 -07:00
Paul Cruz 93c1309fd4 added free to free_dictionary() 2017-08-14 13:08:30 -07:00
Paul Cruz 38f4e43381 added error checking for dictionary initialized with null src 2017-08-14 09:41:04 -07:00
Paul Cruz 7ef9c6f4b2 made separate API for dictionary management 2017-08-11 18:40:19 -07:00
Paul Cruz bfc6db8d6a exposed dictionary functions/types 2017-08-11 17:53:37 -07:00
Paul Cruz bd308d806b remove debug symbols when cleaning, added a simple test 2017-08-11 14:42:15 -07:00
Paul Cruz 9f67e8652e fixed warnings shown by compiler 2017-08-11 14:41:44 -07:00
Paul Cruz d0dc675596 add makefile 2017-08-11 14:35:13 -07:00
Paul Cruz 736a28d835 reduce educational decoder to single frame decompression 2017-08-11 14:34:49 -07:00
Paul Cruz fc90469587 updated program name print statement 2017-08-10 16:11:59 -07:00
Paul Cruz 75c3ad947c Merge remote-tracking branch 'upstream/dev' into dev 2017-08-10 14:46:31 -07:00
Paul Cruz 7069bb9458 Merge branch 'adapt-approach-4' into bug-fixes 2017-08-07 13:18:53 -07:00
Paul Cruz e100a311eb removed direct assignment of 22, used ZSTD_maxCLevel() instead 2017-08-07 13:11:07 -07:00
Paul Cruz 01237e3b35 changed multi to zstd-adaptive in the help menu 2017-08-03 15:13:49 -07:00
Paul Cruz 8be7bba08c added mutex for compression level to avoid data race 2017-08-02 10:27:33 -07:00
Paul Cruz f8c7b191e7 Merge branch 'adapt-approach-4' into dev 2017-07-31 15:42:57 -07:00
Paul Cruz 0295737ad7 change signal to broadcast for jobCompressed condition varaible since multiple threads waiting 2017-07-31 13:43:03 -07:00
Paul Cruz cf92221671 Merge remote-tracking branch 'upstream/dev' into dev 2017-07-31 11:43:40 -07:00
Paul Cruz c2f1bda8a1 Merge branch 'adapt-approach-4' into dev 2017-07-31 11:43:01 -07:00
Paul Cruz 9ea7df03de add install target in makefile 2017-07-31 11:04:17 -07:00
Paul Cruz f60cd3f99b print defaults and range, remove EXT 2017-07-31 09:47:09 -07:00
Paul Cruz e22b60cb76 removed ternary operation, added assert statement, check to make sure initial compression level is within bounds 2017-07-28 17:46:51 -07:00
Paul Cruz cb9af53e77 delete empty line 2017-07-28 17:28:25 -07:00
Paul Cruz 51788225db remove exe extension from makefile, reinclude pthread flag 2017-07-28 17:27:36 -07:00
Paul Cruz 4d904ac800 add flags for multithreading 2017-07-28 16:12:58 -07:00
Paul Cruz 0f4cb67b00 add tests for compression bounds, fix another warning 2017-07-28 15:55:02 -07:00
Paul Cruz ff54fced64 patched style errors, add ability to bound compression level variation 2017-07-28 15:30:46 -07:00
Paul Cruz 2320e7378a remove unused variable, add documentation for context fields 2017-07-26 17:02:47 -07:00
Paul Cruz ab5a78547e fix leaky abstraction regarding measuring completion 2017-07-26 16:40:05 -07:00
Paul Cruz 715f36ca81 added definitions for conversion constants, moved forced compression check to top of adaptCompressionLevel, used ZSTD_BLOCKSIZE_MAX 2017-07-26 15:52:15 -07:00
Paul Cruz 6c1c1242fc set the window log value before performing compression 2017-07-26 14:29:59 -07:00
Paul Cruz a959cc881a moved reset of completion to right after wait 2017-07-26 10:34:48 -07:00
Paul Cruz 305d5ee70f change to >= convergence counter 2017-07-26 10:20:29 -07:00
Paul Cruz be92a38d6a decrease completion requirements for change, move create thread wait, merge cases where compression thread should wait 2017-07-26 10:05:10 -07:00
Paul Cruz 0b18d21e03 building on readme, added another help tip in the menu 2017-07-25 17:47:02 -07:00
Paul Cruz 7cc74e0b27 adding more to readme 2017-07-25 16:55:16 -07:00
Paul Cruz 8dbb07d822 updated progress bar with better representation of time, added const 2017-07-25 16:03:43 -07:00
Paul Cruz 9a132707af changing time units to seconds 2017-07-25 15:26:26 -07:00
Paul Cruz 31a9ed9883 updated const values, added more comments 2017-07-25 14:53:40 -07:00
Paul Cruz 5cfbf609a4 removed old debug statements no longer being used 2017-07-25 14:31:48 -07:00
Paul Cruz 0882cd1981 progress bar -- don't print num jobs, time elapsed shown in seconds 2017-07-25 14:26:55 -07:00
Paul Cruz 310c12d07e moved debug statements to a compiler flag 2017-07-25 14:08:39 -07:00
Paul Cruz e02c79f833 started using decrease cooldown so that compression level would not decrease several times in a row 2017-07-25 11:16:27 -07:00
Paul Cruz 85d7c919f6 created independent function for controlling how completion relates to compression level change 2017-07-25 10:32:14 -07:00
Paul Cruz 6f1e260edd added mechanism for getting rid of spikes 2017-07-25 10:01:10 -07:00
Paul Cruz 700758d676 added help statement for -p, switched it to hide progress bar now that progress bar is default 2017-07-24 16:26:20 -07:00
Paul Cruz df3754b6ed add quiet option, make progress bar default 2017-07-24 16:19:07 -07:00
Paul Cruz 4dc83ca64c compression thread should take measurements independently based on whether or not the create/write thread will actually bottleneck performance 2017-07-24 15:14:58 -07:00
Paul Cruz 0ee3f8c2f8 adding more debug 2017-07-24 15:06:11 -07:00
Paul Cruz 8328f8192a updating debug statements again 2017-07-24 14:40:23 -07:00
Paul Cruz d3d759301f changing position of endline for debug 2017-07-24 13:47:39 -07:00
Paul Cruz e508f632d6 updated comments and debug statements 2017-07-24 11:01:36 -07:00
Paul Cruz 483d936b87 reduced competition for completion mutex by separating mutex use based on which values is updated 2017-07-23 14:09:16 -07:00
Paul Cruz 880f08d104 change how completion is measured in compression thread 2017-07-23 10:18:54 -07:00
Paul Cruz 08d9e42ec6 removed useless measurements 2017-07-21 18:02:55 -07:00
Paul Cruz 95bef759b3 switched over to model where reading only waits on compression thread 2017-07-21 17:49:39 -07:00
Paul Cruz 6455ec482c taking the maximum of the completion level reads in order to determine which one was waiting more 2017-07-21 16:05:01 -07:00
Paul Cruz 05fe8dd47c updating debug statements 2017-07-21 14:06:24 -07:00
Paul Cruz db109f8fef measure multiple completion levels during each wait 2017-07-21 13:38:24 -07:00
Paul Cruz 721c6a8b97 added bounding to compression level change 2017-07-21 09:30:24 -07:00
Paul Cruz e929d3b787 added priority decision making for adapt compression level 2017-07-21 09:26:35 -07:00
Paul Cruz 9259c7afa4 semi working version that stabilizes 2017-07-20 18:45:33 -07:00
Paul Cruz 82e488770c fixed bug where writeSize could be zero 2017-07-20 16:38:02 -07:00
Paul Cruz a19916425d reworked adaptCompressionLevel to only account for completion information 2017-07-20 16:19:16 -07:00
Paul Cruz 7ab758a640 changed how completion is actually sampled 2017-07-20 10:53:51 -07:00
Paul Cruz dcf609f835 make adaptCompressionLevel oscillate less 2017-07-19 16:36:33 -07:00
Paul Cruz 2a22c7915e call ZSTD_compressBegin() once 2017-07-19 16:00:54 -07:00
Paul Cruz 6767abe652 fixing error when file size is multiple of job size (in which case, the srcSize of the last job is 0) 2017-07-19 14:54:15 -07:00
Paul Cruz 42382c1216 added some debug statements, adjusted end condition 2017-07-19 13:30:07 -07:00
Paul Cruz 6945b3c43d removed previous version of completion for compression 2017-07-19 11:51:50 -07:00
Paul Cruz 5a85c57e30 set up new calculations compression completion progress 2017-07-19 11:47:17 -07:00
Paul Cruz f1ac518b59 split compression into smaller blocks 2017-07-19 11:23:40 -07:00
Paul Cruz 338951cd48 moved compression adapt to avoid warning 2017-07-19 10:23:46 -07:00
Paul Cruz 4497ecf297 change compression level only right before actually performing compression. When waiting, only update waiting statistics. 2017-07-19 10:14:00 -07:00
Paul Cruz e11bf55d0b added mechanism for measuring how much of a job has been created 2017-07-19 10:10:47 -07:00
Paul Cruz 559ea4ff25 split up read process into smaller chunks 2017-07-19 09:59:17 -07:00
Paul Cruz 6119cd2164 added additional print for help menu 2017-07-19 09:43:17 -07:00
Paul Cruz 3d7f1afadd changed createCCtx() to split into initialization and creation 2017-07-18 17:32:36 -07:00
Paul Cruz 2c4e4ddc50 added mutex for stats struct 2017-07-18 15:55:58 -07:00
Paul Cruz ad66faf16a added progress check for filewriting, put important shared data behind mutex when being read from/written to 2017-07-18 15:23:11 -07:00
Paul Cruz a34bc30237 setting up basic readme 2017-07-18 13:31:02 -07:00
Paul Cruz 29c36cf051 rename completion variable, split up fwrite operations in order to track progress 2017-07-18 13:30:29 -07:00
Paul Cruz ae47eab2fd changed test cases to use -s setting on the diffs 2017-07-18 12:58:50 -07:00
Paul Cruz 5af04c57b0 change parameters for compression level adapt 2017-07-17 17:59:50 -07:00
Paul Cruz b3c9e02bb6 added signal to other threads whenever error occurs 2017-07-17 15:34:58 -07:00
Paul Cruz 6be22f1f84 swap buffers instead of copying memory over 2017-07-17 14:39:10 -07:00
Paul Cruz 708238e07e open file outside of adaptCCtx, pass to the output thread 2017-07-17 14:01:13 -07:00
Paul Cruz 044e40db5a removed freeCCtx() calls from createCCtx() so that it is not called twice during errors 2017-07-17 11:19:23 -07:00
Paul Cruz 50ce4eaeb6 added error detection for pthread initialization, added compression completion measurement, fixed const values 2017-07-17 10:12:44 -07:00
Paul Cruz 1ab3f06f00 updated tests to use different seeds when executing different tests 2017-07-14 16:29:29 -07:00
Paul Cruz 0c8b9436b7 removed goto statements for the most part 2017-07-13 16:38:20 -07:00
Paul Cruz 65a4ce2635 added tests for forced compression level 2017-07-13 14:57:24 -07:00
Paul Cruz 0d9665cef5 added additional tests for performance, allowed force compression level for testing purposes 2017-07-13 14:46:54 -07:00
Paul Cruz 9165e97fc6 added some tests for correctness, time, and compression ratio 2017-07-13 13:50:23 -07:00