mirror of
https://github.com/go-gitea/gitea
synced 2025-08-24 10:28:27 +00:00
go1.16 (#14783)
This commit is contained in:
116
vendor/github.com/ulikunitz/xz/TODO.md
generated
vendored
116
vendor/github.com/ulikunitz/xz/TODO.md
generated
vendored
@@ -8,19 +8,17 @@
|
||||
|
||||
1. Review encoder and check for lzma improvements under xz.
|
||||
2. Fix binary tree matcher.
|
||||
3. Compare compression ratio with xz tool using comparable parameters
|
||||
and optimize parameters
|
||||
4. Do some optimizations
|
||||
- rename operation action and make it a simple type of size 8
|
||||
- make maxMatches, wordSize parameters
|
||||
- stop searching after a certain length is found (parameter sweetLen)
|
||||
3. Compare compression ratio with xz tool using comparable parameters and optimize parameters
|
||||
4. rename operation action and make it a simple type of size 8
|
||||
5. make maxMatches, wordSize parameters
|
||||
6. stop searching after a certain length is found (parameter sweetLen)
|
||||
|
||||
## Release v0.7
|
||||
|
||||
1. Optimize code
|
||||
2. Do statistical analysis to get linear presets.
|
||||
3. Test sync.Pool compatability for xz and lzma Writer and Reader
|
||||
3. Fuzz optimized code.
|
||||
4. Fuzz optimized code.
|
||||
|
||||
## Release v0.8
|
||||
|
||||
@@ -44,53 +42,81 @@
|
||||
|
||||
## Package lzma
|
||||
|
||||
### Release v0.6
|
||||
|
||||
- Rewrite Encoder into a simple greedy one-op-at-a-time encoder
|
||||
including
|
||||
+ simple scan at the dictionary head for the same byte
|
||||
+ use the killer byte (requiring matches to get longer, the first
|
||||
test should be the byte that would make the match longer)
|
||||
### v0.6
|
||||
|
||||
* Rewrite Encoder into a simple greedy one-op-at-a-time encoder including
|
||||
* simple scan at the dictionary head for the same byte
|
||||
* use the killer byte (requiring matches to get longer, the first test should be the byte that would make the match longer)
|
||||
|
||||
## Optimizations
|
||||
|
||||
- There may be a lot of false sharing in lzma.State; check whether this
|
||||
can be improved by reorganizing the internal structure of it.
|
||||
- Check whether batching encoding and decoding improves speed.
|
||||
* There may be a lot of false sharing in lzma. State; check whether this can be improved by reorganizing the internal structure of it.
|
||||
|
||||
* Check whether batching encoding and decoding improves speed.
|
||||
|
||||
### DAG optimizations
|
||||
|
||||
- Use full buffer to create minimal bit-length above range encoder.
|
||||
- Might be too slow (see v0.4)
|
||||
* Use full buffer to create minimal bit-length above range encoder.
|
||||
* Might be too slow (see v0.4)
|
||||
|
||||
### Different match finders
|
||||
|
||||
- hashes with 2, 3 characters additional to 4 characters
|
||||
- binary trees with 2-7 characters (uint64 as key, use uint32 as
|
||||
* hashes with 2, 3 characters additional to 4 characters
|
||||
* binary trees with 2-7 characters (uint64 as key, use uint32 as
|
||||
|
||||
pointers into a an array)
|
||||
- rb-trees with 2-7 characters (uint64 as key, use uint32 as pointers
|
||||
|
||||
* rb-trees with 2-7 characters (uint64 as key, use uint32 as pointers
|
||||
|
||||
into an array with bit-steeling for the colors)
|
||||
|
||||
## Release Procedure
|
||||
|
||||
- execute goch -l for all packages; probably with lower param like 0.5.
|
||||
- check orthography with gospell
|
||||
- Write release notes in doc/relnotes.
|
||||
- Update README.md
|
||||
- xb copyright . in xz directory to ensure all new files have Copyright
|
||||
header
|
||||
- VERSION=<version> go generate github.com/ulikunitz/xz/... to update
|
||||
version files
|
||||
- Execute test for Linux/amd64, Linux/x86 and Windows/amd64.
|
||||
- Update TODO.md - write short log entry
|
||||
- git checkout master && git merge dev
|
||||
- git tag -a <version>
|
||||
- git push
|
||||
* execute goch -l for all packages; probably with lower param like 0.5.
|
||||
* check orthography with gospell
|
||||
* Write release notes in doc/relnotes.
|
||||
* Update README.md
|
||||
* xb copyright . in xz directory to ensure all new files have Copyright header
|
||||
* `VERSION=<version> go generate github.com/ulikunitz/xz/...` to update version files
|
||||
* Execute test for Linux/amd64, Linux/x86 and Windows/amd64.
|
||||
* Update TODO.md - write short log entry
|
||||
* `git checkout master && git merge dev`
|
||||
* `git tag -a <version>`
|
||||
* `git push`
|
||||
|
||||
## Log
|
||||
|
||||
## 2020-08-19
|
||||
### 2021-02-02
|
||||
|
||||
Mituo Heijo has fuzzed xz and found a bug in the function readIndexBody. The
|
||||
function allocated a slice of records immediately after reading the value
|
||||
without further checks. Since the number has been too large the make function
|
||||
did panic. The fix is to check the number against the expected number of records
|
||||
before allocating the records.
|
||||
|
||||
### 2020-12-17
|
||||
|
||||
Release v0.5.9 fixes warnings, a typo and adds SECURITY.md.
|
||||
|
||||
One fix is interesting.
|
||||
|
||||
```go
|
||||
const (
|
||||
a byte = 0x1
|
||||
b = 0x2
|
||||
)
|
||||
```
|
||||
|
||||
The constants a and b don't have the same type. Correct is
|
||||
|
||||
```go
|
||||
const (
|
||||
a byte = 0x1
|
||||
b byte = 0x2
|
||||
)
|
||||
```
|
||||
|
||||
### 2020-08-19
|
||||
|
||||
Release v0.5.8 fixes issue
|
||||
[issue #35](https://github.com/ulikunitz/xz/issues/35).
|
||||
@@ -208,8 +234,8 @@ MININT.
|
||||
|
||||
### 2015-06-04
|
||||
|
||||
It has been a productive day. I improved the interface of lzma.Reader
|
||||
and lzma.Writer and fixed the error handling.
|
||||
It has been a productive day. I improved the interface of lzma. Reader
|
||||
and lzma. Writer and fixed the error handling.
|
||||
|
||||
### 2015-06-01
|
||||
|
||||
@@ -260,7 +286,7 @@ needed anymore.
|
||||
|
||||
However I will implement a ReaderState and WriterState type to use
|
||||
static typing to ensure the right State object is combined with the
|
||||
right lzbase.Reader and lzbase.Writer.
|
||||
right lzbase. Reader and lzbase. Writer.
|
||||
|
||||
As a start I have implemented ReaderState and WriterState to ensure
|
||||
that the state for reading is only used by readers and WriterState only
|
||||
@@ -282,11 +308,11 @@ old lzma package has been completely removed.
|
||||
|
||||
### 2015-04-05
|
||||
|
||||
Implemented lzma.Reader and tested it.
|
||||
Implemented lzma. Reader and tested it.
|
||||
|
||||
### 2015-04-04
|
||||
|
||||
Implemented baseReader by adapting code form lzma.Reader.
|
||||
Implemented baseReader by adapting code form lzma. Reader.
|
||||
|
||||
### 2015-04-03
|
||||
|
||||
@@ -302,7 +328,7 @@ However in Francesco Campoy's presentation "Go for Javaneros
|
||||
(Javaïstes?)" is the the idea that using an embedded field E, all the
|
||||
methods of E will be defined on T. If E is an interface T satisfies E.
|
||||
|
||||
https://talks.golang.org/2014/go4java.slide#51
|
||||
<https://talks.golang.org/2014/go4java.slide#51>
|
||||
|
||||
I have never used this, but it seems to be a cool idea.
|
||||
|
||||
@@ -327,11 +353,11 @@ and the opCodec.
|
||||
|
||||
1. Implemented simple lzmago tool
|
||||
2. Tested tool against large 4.4G file
|
||||
- compression worked correctly; tested decompression with lzma
|
||||
- decompression hits a full buffer condition
|
||||
* compression worked correctly; tested decompression with lzma
|
||||
* decompression hits a full buffer condition
|
||||
3. Fixed a bug in the compressor and wrote a test for it
|
||||
4. Executed full cycle for 4.4 GB file; performance can be improved ;-)
|
||||
|
||||
### 2015-01-11
|
||||
|
||||
- Release v0.2 because of the working LZMA encoder and decoder
|
||||
* Release v0.2 because of the working LZMA encoder and decoder
|
||||
|
Reference in New Issue
Block a user