Page 60 of 71 FirstFirst ... 1050585960616270 ... LastLast
Results 1,771 to 1,800 of 2112

Thread: paq8px

  1. #1771
    Member
    Join Date
    Aug 2017
    Location
    United States
    Posts
    33
    Thanks
    19
    Thanked 23 Times in 16 Posts
    @Shelwien: I implemented one of your suggestions. Here is a small program that outputs the predictions from a NormalModel. The test data is a pattern of 16 bits, which is fed to the model a total of 256 times. This is the code:
    Code:
    #include <cstdint>
    #include "model/NormalModel.hpp"
    #include "Mixer.hpp"
    #include "MixerFactory.hpp"
    #include "ModelStats.hpp"
    
    #define MEM (uint64_t(65536) << 9U)
    
    int main() {
      constexpr uint8_t ys[16] = {0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0};
      Mixer *m = MixerFactory::createMixer(1 + NormalModel::MIXERINPUTS, NormalModel::MIXERCONTEXTS, NormalModel::MIXERCONTEXTSETS);
      m->setScaleFactor(1024, 128);
      auto *modelStats = new ModelStats();
      NormalModel normalModel(modelStats, MEM * 32);
      auto shared = Shared::getInstance();
      auto updateBroadcaster = UpdateBroadcaster::getInstance();
      shared->reset();
      shared->buf.setSize(MEM * 8);
      for( int i = 0; i < 256; ++i ) {
        for( auto &&y : ys ) {
          m->add(256); //network bias
          shared->y = y;
          shared->update();
          normalModel.mix(*m);
          normalModel.mixPost(*m);
          auto p = m->p();
          printf("%d, %d\n",y, p);
          updateBroadcaster->broadcastUpdate();
        }
      }
      return 1;
    }
    The first 16 predictions are as follows:
    Code:
    0, 2047
    1, 2047
    0, 2047
    0, 2047
    1, 2047
    1, 2047
    0, 2047
    0, 2047
    0, 2047
    1, 2047
    1, 2047
    1, 2047
    0, 2047
    0, 2047
    0, 2047
    0, 2047
    The last 16 predictions are as follows:
    Code:
    0, 6
    1, 4088
    0, 7
    0, 7
    1, 4088
    1, 4087
    0, 7
    0, 0
    0, 6
    1, 4089
    1, 4087
    1, 4087
    0, 6
    0, 7
    0, 6
    0, 0

    I do not believe I would have been able to write this program nearly so easily had I not performed the source code splitting. Many thanks to @Gotty as well for his great efforts to decouple the codebase. I still have more to do, but I believe that with these changes, we are on the path to making it easier to contribute to paq8px.

  2. Thanks:

    Shelwien (11th January 2020)

  3. #1772
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,977
    Thanks
    296
    Thanked 1,305 Times in 741 Posts
    1) I think its better to use a packed binary format for this, like (p*2+bit) or ((bit<<15)+p), with 16 bytes per byte of input data.
    A converter to text can be implemented separately, while binary format can be used for standalone submodel testing
    (I did something similar for mod_SSE in mod_ppmd thread).
    Text format would be too slow to parse.

    2) This kind of prediction log can be used for visualization, like here (maybe you can modify dmp2htm.cpp from lzma_markup_v0.rar).
    I should already have such a converter for CM prediction logs actually, but it might be written in perl.

  4. #1773
    Member
    Join Date
    Jun 2009
    Location
    Puerto Rico
    Posts
    251
    Thanks
    138
    Thanked 52 Times in 39 Posts
    It seems paq8px_v184 is now merged in the GitHub repo: https://github.com/hxim/paq8px

  5. Thanks:

    Shelwien (31st January 2020)

  6. #1774
    Member
    Join Date
    May 2008
    Location
    Estonia
    Posts
    510
    Thanks
    208
    Thanked 348 Times in 185 Posts
    imho

    1.
    In im24 if mixer context is changed you can gain on 10MB input file about 5k. If image source was jpeg. Otherwise ca +/- 250 bytes.
    In rafale.bmp compressed size is something like 4695xx bytes.
    m.set(5, 6);
    to
    m.set(col+((line&7)<<5), 256);


    2. Also
    StationaryMap consumes lots of time. Heavy use in im24. With some improvments in it gains can be:
    3M file ca -7 sec
    10M file ca -40 sec
    or more. Needs some testing as matchmodels use it to.


    3. Alsoalso
    Changing statemap + aditional change in StationaryMap the speed can be improved even more.
    This needs more testing to be sure.


    4. Alsoalso...
    Using normalmodel if compressing image just wastes time. Maybe it helps on small files.
    In pxd there are 2 additional context if regular 24/32 bit image is compressed. Still seem to help despite all the improvments.








    Below on the first image it shows that paq8px_v183fix1 compresses about 2,5 mins longer. Original file was camera jpeg saved to bmp.


    On other image it shows that mixer change is not that good. But the time...
    http://qlic.altervista.org/list-paq8px182f1-9.txt

    Click image for larger version. 

Name:	camera.jpeg.to.im24.PNG 
Views:	53 
Size:	51.7 KB 
ID:	7320Click image for larger version. 

Name:	STA13900.ppm.PNG 
Views:	40 
Size:	60.1 KB 
ID:	7321
    KZo


  7. Thanks:

    Gotty (7th June 2020)

  8. #1775
    Member
    Join Date
    Sep 2014
    Location
    Italy
    Posts
    94
    Thanks
    102
    Thanked 39 Times in 25 Posts
    Hi Guys!

    Could someone help me to compile the last revision.
    I have already update source from github
    Then where i have the paq8px.cpp file i copy all the trunk folder content.

    Before the file splitting i was able to compile using these commands:


    @echo off

    set incs=-Izlib -DNDEBUG -DINC_LOG2I -DINC_FLEN -DSTRICT -DWIN32

    set opts=-fomit-frame-pointer -fstrict-aliasing -fno-stack-protector -fno-stack-check -fno-check-new -floop-interchange -floop-strip-mine -floop-block -funroll-loops -fpeel-loops -fweb
    :-finline-functions -ftree-vectorize -ftree-loop-vectorize -flto

    set arch=-march=native -mtune=native -m64 -ftree-vectorize -fprofile-use
    :-mpreferred-stack-boundary=3 -msse2 -fgcse-after-reload -funsafe-math-optimizations -fassociative-math -freciprocal-math -fbranch-probabilities

    :

    set arg=2
    if not (%1)==() set arg=%1

    if (%arg%)==(0) set gcc=C:\mingw\mingw64-w64\bin\g++.exe& set exe=paq8px_x64.exe
    if (%arg%)==(1) set gcc=C:\mingw\mingw64-w64\bin\g++.exe& set exe=paq8px_x64.exe
    if (%arg%)==(2) set gcc=C:\mingw\mingw64-w64\bin\g++.exe& set exe=paq8px_x64.exe

    set path=%gcc%\..\

    %gcc%\..\gcc.exe -c -O9 %arch% %incs% %opts% -static @zliblist

    :-fno-exceptions -Ofast
    %gcc% -O9 -s %arch% %incs% %opts% -fwhole-program -fpermissive -std=gnu++1z -fno-rtti -static paq8px.cpp *.o -o %exe%

    del *.o




    Now i get many errors:

    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13d4f): undefined reference to `Encoder::size() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13d5a): undefined reference to `Encoder::flush()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13d62): undefined reference to `Encoder::size() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13db8): undefined reference to `Encoder::size() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13ddd): undefined reference to `String::strsize() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13df0): undefined reference to `FileDisk::close()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13e03): undefined reference to `ProgramChecker::print() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13e1d): undefined reference to `ContextModel::~ContextModel()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13e27): undefined reference to `FileDisk::~FileDisk()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13e2f): undefined reference to `ListOfFiles::~ListOfFiles()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13ee5): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13f09): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13f1c): undefined reference to `FileDisk::open(char const*, bool)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13f32): undefined reference to `FileDisk::getchar()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13f55): undefined reference to `FileDisk::getchar()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13f60): undefined reference to `Shared::setLevel(unsigned char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13f68): undefined reference to `FileDisk::getchar()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13fa3): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13fb2): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x13fbf): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1401e): undefined reference to `FileName::FileName(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14028): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14033): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1403d): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14048): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14050): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x140a8): undefined reference to `FileName::FileName(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x140b2): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x140bd): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x140c7): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x140d2): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x140da): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x141a2): undefined reference to `String::String(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x141ac): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x141d5): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14253): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1425e): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1426f): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1427a): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1428b): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14296): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x142a7): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x142b2): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x142c3): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x142ce): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x142df): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x142ea): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x142fb): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14306): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14320): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1432b): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1433c): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14348): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14355): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14361): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1436e): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1437a): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14387): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14393): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x143a0): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x143ac): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x143b9): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x143c5): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x143d2): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x143de): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x143fa): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14406): undefined reference to `String::operator+=(unsigned long long)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14415): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1441f): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1442a): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14439): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14449): undefined reference to `String::operator+=(unsigned long long)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14458): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14462): undefined reference to `Encoder::size() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1446d): undefined reference to `String::operator+=(unsigned long long)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1447c): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14489): undefined reference to `ProgramChecker::getRuntime() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x144b0): undefined reference to `String::operator+=(unsigned long long)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x144bf): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x144ce): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x144d6): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x144e3): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1453e): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14588): undefined reference to `String::strsize() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x145b8): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x145c7): undefined reference to `String::strsize() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x145da): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x145ea): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x145f9): undefined reference to `String::endsWith(char const*) const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1460e): undefined reference to `String::stripEnd(unsigned long long)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1461d): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14630): undefined reference to `FileName::FileName(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1463a): undefined reference to `String::strsize() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14650): undefined reference to `Encoder::decompress()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14663): undefined reference to `Encoder::decodeBlockSize()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14682): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1468c): undefined reference to `Encoder::decompress()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x146b2): undefined reference to `ListOfFiles::addChar(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x146bc): undefined reference to `Encoder::decompress()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x146d2): undefined reference to `ListOfFiles::getCount()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x146f9): undefined reference to `FileDisk::FileDisk()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14701): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14712): undefined reference to `FileDisk::open(char const*, bool)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1471a): undefined reference to `ListOfFiles::getString()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14724): undefined reference to `FileDisk::getchar()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14743): undefined reference to `String::strsize() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14750): undefined reference to `FileDisk::getchar()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14769): undefined reference to `FileDisk::close()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14771): undefined reference to `FileDisk::~FileDisk()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x147cc): undefined reference to `FileName::lastSlashPos() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x147dc): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x147ec): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x147f4): undefined reference to `FileName::keepPath()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x147fc): undefined reference to `FileName::keepFilename()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14813): undefined reference to `Encoder::compress(int)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14823): undefined reference to `ListOfFiles::getString()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1483e): undefined reference to `Encoder::encodeBlockSize(unsigned long long)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1485c): undefined reference to `Encoder::compress(int)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x1487e): undefined reference to `Encoder::compress(int)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x148af): undefined reference to `Encoder::size() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x149c1): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x149e1): undefined reference to `String::operator+=(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14a78): undefined reference to `String::operator+=(char)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14aca): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14ae6): undefined reference to `ListOfFiles::getString()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14aee): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14b4d): undefined reference to `FileDisk::FileDisk()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14b55): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14b60): undefined reference to `FileDisk::create(char const*)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14b68): undefined reference to `ListOfFiles::getString()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14b73): undefined reference to `String::strsize() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14b82): undefined reference to `FileDisk::blockWrite(unsigned char*, unsigned long long)'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14b8a): undefined reference to `FileDisk::close()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14b92): undefined reference to `FileDisk::~FileDisk()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14ba8): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14be6): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14c01): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14c34): undefined reference to `FileDisk::~FileDisk()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14c58): undefined reference to `ContextModel::~ContextModel()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14c62): undefined reference to `FileDisk::~FileDisk()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14c6a): undefined reference to `ListOfFiles::~ListOfFiles()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14c8c): undefined reference to `FileDisk::~FileDisk()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14d33): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14d66): undefined reference to `FileDisk::~FileDisk()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14dd9): undefined reference to `FileDisk::~FileDisk()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14e5b): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14f07): undefined reference to `String::c_str() const'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text+0x14f35): undefined reference to `FileDisk::~FileDisk()'
    C:\Users\HP\AppData\Local\Temp\ccWXNs5n.o:paq8px.c pp:(.text.unlikely+0x1c): undefined reference to `ProgramChecker::free(unsigned long long)'
    collect2.exe: error: ld returned 1 exit status
    C:\Bin\paq8px.git\compila>


    Thank you Luca :)

  9. #1776
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,977
    Thanks
    296
    Thanked 1,305 Times in 741 Posts
    Basically same, but you need to replace paq8px.cpp in script with "@list", and add the attached list.
    Also add these defines: -DWIN32_LEAN_AND_MEAN -DUSE_TEXTMODEL -DUSE_AUDIOMODEL -DNVERBOSE
    Can also just use the attached g.bat, but it doesn't include zlib.
    Attached Files Attached Files

  10. #1777
    Member
    Join Date
    Sep 2014
    Location
    Italy
    Posts
    94
    Thanks
    102
    Thanked 39 Times in 25 Posts
    Thank you very much Shelwien!

    Now i get only this two errors:

    C:\Bin\paq8px.git\compila>compila

    paq8px.cpp: In function 'int main(int, char**)':
    paq8px.cpp:785:20: error: 'CommandLineToArgvW' was not declared in this scope
    if( (szArglist = CommandLineToArgvW(GetCommandLineW(), &argc_utf) == NULL) {
    ^~~~~~~~~~~~~~~~~~
    paq8px.cpp:785:20: note: suggested alternative: 'GetCommandLineW'
    if( (szArglist = CommandLineToArgvW(GetCommandLineW(), &argc_utf) == NULL) {
    ^~~~~~~~~~~~~~~~~~
    GetCommandLineW



    While not script now is this:

    @echo off

    set incs=-Izlib -DNDEBUG -DINC_LOG2I -DINC_FLEN -DSTRICT -DWIN32 -DWIN32_LEAN_AND_MEAN -DUSE_TEXTMODEL -DUSE_AUDIOMODEL -DNVERBOSE

    set opts=-fomit-frame-pointer -fstrict-aliasing -fno-stack-protector -fno-stack-check -fno-check-new -floop-interchange -floop-strip-mine -floop-block -funroll-loops -fpeel-loops -fweb
    :-finline-functions -ftree-vectorize -ftree-loop-vectorize -flto

    set arch=-march=native -mtune=native -m64 -ftree-vectorize -fprofile-use
    :-mpreferred-stack-boundary=3 -msse2 -fgcse-after-reload -funsafe-math-optimizations -fassociative-math -freciprocal-math -fbranch-probabilities

    :

    set arg=2
    if not (%1)==() set arg=%1

    if (%arg%)==(0) set gcc=C:\mingw\mingw64-w64\bin\g++.exe& set exe=paq8px_x64.exe
    if (%arg%)==(1) set gcc=C:\mingw\mingw64-w64\bin\g++.exe& set exe=paq8px_x64.exe
    if (%arg%)==(2) set gcc=C:\mingw\mingw64-w64\bin\g++.exe& set exe=paq8px_x64.exe

    set path=%gcc%\..\

    %gcc%\..\gcc.exe -c -O9 %arch% %incs% %opts% -static @zliblist

    :-fno-exceptions -Ofast
    %gcc% -O9 -s %arch% %incs% %opts% -fwhole-program -fpermissive -std=gnu++1z -fno-rtti -static @list *.o -o %exe%

    del *.o



    What i am doing wrong?
    Could help me again please?

    Thank you!!
    Luca
    Last edited by LucaBiondi; 4th February 2020 at 01:04.

  11. #1778
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,977
    Thanks
    296
    Thanked 1,305 Times in 741 Posts
    That seems like older version of the source.
    Try this: http://nishi.dreamhosters.com/u/paq8pxe_v1_src.7z

  12. #1779
    Member
    Join Date
    Aug 2017
    Location
    United States
    Posts
    33
    Thanks
    19
    Thanked 23 Times in 16 Posts
    @Luca: I'm sorry, it's due to my changes that you're having trouble compiling. Thank you very much to @Shelwien for providing assistance. I should have posted here noting that v184 had been merged, so thanks to @moisesmcardona for pointing that out.
    @Kaitz: Regarding your points #2 and #3, what changes specifically do you propose making in order to improve the speed?

  13. #1780
    Member
    Join Date
    Sep 2015
    Location
    Italy
    Posts
    278
    Thanks
    116
    Thanked 160 Times in 117 Posts
    Quote Originally Posted by LucaBiondi View Post
    What is the most simple modify to add to paq8px in order to increase jpeg compression?
    I added 3 contexts from pa8pxd_v69 and 27 from pa8pxv_v16 to paq8px_v183fix1 jpg model, the total number of contexts has increased from 32 to 62 and the program is ~25% slower for jpg files; small gain, big slowdown.
    Code:
      Original    paq8px -9    paq8px -9
                   v183fix1 v183fix1_jpg
       842.468      628.293      626.384 A10.jpg  (Maximum Compression)
       112.038       81.766       81.569 F.JPG    (Darek)
     7.132.151    4.967.451    4.963.097 mill.jpg (SqueezeChart)
                                         Miscellaneous jpg files, sorted by original size
         1.074          678          675
         1.920        1.307        1.298
         1.990        1.325        1.323
         2.209        1.505        1.501
         2.575          612          606
         2.950          774          772
         3.168        1.979        1.976
         3.650        2.764        2.754
         3.981        1.041        1.030
         4.222        2.609        2.600
         4.734        1.306        1.284
         5.115        3.264        3.252
         5.115        3.264        3.252
         6.381        2.334        2.301
         6.406        2.386        2.365
         7.505        3.035        3.005
        10.569        4.605        4.547
        14.049        2.676        2.607
        15.776        9.950        9.780
        23.871       14.596       14.525
       125.763      123.730      123.730
       131.968       92.272       92.046
       151.373      147.963      147.963
       180.289      126.671      126.095
       200.339      157.574      157.331
       231.843      229.512      229.512
       237.948      170.576      170.185
       440.546      316.932      316.393
       521.027      383.303      382.202
       789.231      755.897      755.830
       809.701      773.720      773.666
       822.542      786.886      786.823
       845.246      804.462      804.402
     1.216.752      917.418      916.350
     1.637.221    1.293.241    1.292.240
     1.900.151    1.317.702    1.314.905
     2.034.915    1.550.296    1.548.480
     2.162.511    1.674.314    1.670.462
     2.297.822    1.704.019    1.702.474
     2.338.935    1.835.435    1.833.354
     2.348.509    1.689.365    1.688.213
     2.403.003    1.747.405    1.745.964
     2.428.564    1.753.135    1.751.739
     2.502.863    1.830.967    1.829.333
     2.593.936    1.911.213    1.910.057
     2.721.778    2.002.125    1.994.862
     2.813.367    2.060.103    2.058.578
     3.566.395    2.539.497    2.535.352
     3.574.077    2.689.525    2.687.358
     3.742.800    2.720.033    2.715.913
     3.747.512    2.720.756    2.716.316
     3.871.188    2.770.558    2.762.299
     3.904.748    2.763.289    2.758.632
     3.978.287    2.923.243    2.920.061
     4.179.013    2.965.553    2.958.733
     4.429.791    3.168.138    3.162.954
     4.485.038    3.207.213    3.202.468
     4.524.011    3.188.511    3.183.992
     4.563.786    3.181.120    3.177.648
     4.591.728    3.205.874    3.202.380
    98.260.434   71.939.066   71.839.798 Total
    One strange thing: if I stop the execution of paq8px_v183fix1 (original and my version) with Ctrl+C then I run "dir", MSDOS displays (translated) "Unable to write to the specified device".
    Instead there are no problems if paq8px_v183fix1 ends without interruption.
    Tested on Windows 7 Professional SP1 64 bit, on both HDD and SSD, and Windows 8.1 64 bit on HDD; on jpg and non jpg files (text, exe, ...).

  14. Thanks:

    Gotty (7th June 2020)

  15. #1781
    Member
    Join Date
    May 2008
    Location
    Estonia
    Posts
    510
    Thanks
    208
    Thanked 348 Times in 185 Posts
    Quote Originally Posted by Eppie View Post
    @Kaitz: Regarding your points #2 and #3, what changes specifically do you propose making in order to improve the speed?
    First test show that point #2 is good, not sure how it will translate to px, i cant compile it myself. #3 adds really small speed improvement or i did not test that hard.
    Also i know its hard to do #4 in px. Needs reordering models.

    Quote Originally Posted by Mauro Vezzosi View Post
    ​I added 3 contexts from pa8pxd_v69 and 27 from pa8pxv_v16 to paq8px_v183fix1 jpg model, the total number of contexts has increased from 32 to 62 and the program is ~25% slower for jpg files; small gain, big slowdown.
    pxd/pxv jpeg hashtable lookup is 4, in px it is 8. Main speed difference. Also pxd skips prediction if same block found and uses match-models prediction (mostly artificial images, or if same image again).
    ​paq8pxv_v16 context are not that good for use. Its based on paq7/paq8this? model with some changes. And doubling context count fill make also pxd to crawl.
    KZo


  16. #1782
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    39
    Thanks
    17
    Thanked 11 Times in 8 Posts
    My quick compression text test on all versions of what I can download here, just
    Code:
    file      |  htm  |
    original  | 33 285|
    zip       |  6 709|
    7z        |  6 456|
    paq8px
    49        |  4 713|
    51        |=      |
    52        |=      |
    60        |=      |
    66        |- 4 709|
    67        |- 4 676|
    68        |- 4 660|
    69        |=      |
    71        |=      |
    72        |=      |
    73        |=      |
    74        |- 4 645|
    75        |=      |
    77        |+ 4 646|
    83        |+ 4 650|
    85        |+=     |
    87        |+=     |
    88        |+=     |
    90        |+=     |
    92        |+-4 646|
    93        |+=     |
    95        |- 4 633|
    105       |- 4 577|
    122       |+ 4 579|
    126       |+=     |
    129_1     |+-4 578|
    129_2     |+=     |
    132_1     |+ 4 581|
    137       |- 4 549|
    137_1     |=      |
    141       |+ 4 554|
    141_1     |+=     |
    141_2     |+=     |
    141_4     |+=     |
    145       |- 4 547|
    150       |- 4 507|
    156       |+ 4 513|
    157       |+=     |
    159       |- 4 469|
    163       |+ 4 473|
    167       |- 4 468|
    172       |- 4 415|
    173       |- 4 412|
    174       |+ 4 415|
    175       |+=     |
    176       |+=     |
    177       |+=     |
    178       |- 4 410|
    179       |- 4 409|
    179_1     |=      |
    179_2     |+ 4 410|
    179_3     |+ 4 412|
    179_4     |+=     |
    179_5     |- 4 406|
    180       |+ 4 407|
    181       |- 4 401|
    181_1     |=      |
    182_2     |- 4 354|
    183_1     |- 4 333|
    185       |=      |

  17. #1783
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    39
    Thanks
    17
    Thanked 11 Times in 8 Posts
    paq8px_v183fix1 is the latest version that runs on my very old cpu AMD Athlon II X4 640
    paq8px_v185 which was placed here does not work on my pc, it is runs but it gives error witch start compression, but it works on my laptop Intel Celeron N3050
    Code:
    file      | TL.jar |v185.exe| ut.exe |
    original  | 682 626| 649 728| 393 728|
    zip       | 603 150| 307 572| 373 549|
    7z        | 597 558| 245 932| 374 120|
    paq8px -6
    137       | 201 386| 172 118| 371 361|
    150       |-198 862|-170 765|+371 367|
    159       |-197 391|-170 347|+371 399|
    167       |-195 907|-169 617| 371 389|
    173       |-193 907|-168 914|-371 278|
    178       |+194 001|-168 196|-371 244|
    180       | 193 936|-167 996|+371 258|
    185       |-190 969|-167 425|-371 238|

  18. #1784
    Member
    Join Date
    Dec 2008
    Location
    Poland, Warsaw
    Posts
    1,217
    Thanks
    743
    Thanked 495 Times in 383 Posts
    Hi! I've little been lost in the latest versions development.
    Are there versions v184 and v185 builds available to download somewhere?

  19. #1785
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,977
    Thanks
    296
    Thanked 1,305 Times in 741 Posts
    v184 is the current one, the same as "pxe_v1" above.
    And I dunno what he meant by v185, probably counted "pxe_v0" as 184 and "pxe_v1" as 185.

  20. Thanks:

    Darek (8th February 2020)

  21. #1786
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    39
    Thanks
    17
    Thanked 11 Times in 8 Posts
    Quote Originally Posted by Shelwien View Post
    v184 is the current one, the same as "pxe_v1" above.
    And I dunno what he meant by v185, probably counted "pxe_v0" as 184 and "pxe_v1" as 185.
    pxe_v1 is v184?
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	paq8px_v185.png 
Views:	39 
Size:	5.0 KB 
ID:	7371  

  22. #1787
    Member
    Join Date
    Jun 2009
    Location
    Puerto Rico
    Posts
    251
    Thanks
    138
    Thanked 52 Times in 39 Posts
    Quote Originally Posted by Shelwien View Post
    v184 is the current one, the same as "pxe_v1" above.
    And I dunno what he meant by v185, probably counted "pxe_v0" as 184 and "pxe_v1" as 185.
    Quote Originally Posted by DZgas View Post
    pxe_v1 is v184?
    Seems someone bumped the version. I'm now confused as well. Was the bump intentional? Is there something new in this "pxe_v1"?

  23. #1788
    Member
    Join Date
    Dec 2008
    Location
    Poland, Warsaw
    Posts
    1,217
    Thanks
    743
    Thanked 495 Times in 383 Posts
    OK, then I've got pre_v1 version bulids. I was looking for pxe_v0 build but I can't find it - is there available?

  24. #1789
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,977
    Thanks
    296
    Thanked 1,305 Times in 741 Posts
    pxe_v0: https://encode.su/threads/3325-Under...ll=1#post63430
    It had worse compression though.

  25. Thanks:

    Darek (9th February 2020)

  26. #1790
    Member
    Join Date
    Aug 2017
    Location
    United States
    Posts
    33
    Thanks
    19
    Thanked 23 Times in 16 Posts
    It appears that I've caused a bit of confusion, so let me try and clear that up. The official home of paq8px is here: https://github.com/hxim/paq8px. The latest version there is v184, which is a large refactoring of paq8px to make it more modularized. In the process of refactoring, I broke some things (windows compilation, compression ratio for text files, non-AVX2 systems). Therefore, I would consider v184 to be unworthy of testing. I am currently working on v185 in my fork of the repository, which is located here: https://github.com/andrew-epstein/paq8px. Do NOT consider anything in this repository to be official. I have opened a pull request against the official repository, and once that is accepted and merged, there will be an official version v185 which I would love for you to test @Darek, if you'd be so kind. I will post here again once that happens.

    The pxe versions are names that @Shelwien came up with for compilations of intermediate development versions. I wouldn't consider them official, but I know I'm relatively new here and I will defer to you Shelwien as to how things should be handled. Do you think it is a better idea for me to stop calling my project paq8px altogether, and take a route like @kaitz has done?

    Aside: @Shelwien, I started looking at how to incorporate your mod_ppmd or your mod_CM, but I'm having a little bit of trouble. I don't have any specific questions yet, but hopefully I'll be able to incorporate those into a future version.

  27. Thanks:

    Darek (9th February 2020)

  28. #1791
    Programmer Jan Ondrus's Avatar
    Join Date
    Sep 2008
    Location
    Rychnov nad Kněžnou, Czech Republic
    Posts
    279
    Thanks
    33
    Thanked 138 Times in 50 Posts
    Quote Originally Posted by Eppie View Post
    I have opened a pull request against the official repository, and once that is accepted and merged, there will be an official version v185 which I would love for you to test @Darek, if you'd be so kind. I will post here again once that happens.
    I merged it just now

  29. Thanks:

    Eppie (9th February 2020)

  30. #1792
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    39
    Thanks
    17
    Thanked 11 Times in 8 Posts
    Why did @Shelwien come up with the name "pxe" for intermediate versions, would call 185pre1 185pre2 ... pre3
    Just as "183fix1" "fix2" ...

    If "merged" your paq8px and hxim/paq8px , then why change something?
    But if you make another ... the fork. I think it’s necessary to act as paq8pxd and add a one letter for distinguish.
    encode.su/threads/1464-Paq8pxd-dict

  31. #1793
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,977
    Thanks
    296
    Thanked 1,305 Times in 741 Posts
    > Do you think it is a better idea for me to stop calling my project paq8px altogether,
    > and take a route like @kaitz has done?

    It could be simpler like that, but since your changes are already in the paq8px repository,
    it would make sense to continue as paq8px.

    > Aside: @Shelwien, I started looking at how to incorporate your mod_ppmd or your mod_CM,
    > but I'm having a little bit of trouble.

    You can probably ignore mod_CM - it is slightly better than paq8 prefix model,
    but the improvement is too small.
    mod_ppmd and mod_SSE should be useful though.

    > I don't have any specific questions yet,
    > but hopefully I'll be able to incorporate those into a future version.

    There're paq8p examples posted with these models, also cmix uses them.

  32. #1794
    Member
    Join Date
    Aug 2017
    Location
    United States
    Posts
    33
    Thanks
    19
    Thanked 23 Times in 16 Posts
    @DZGas: I am using some terminology from my day job as a programmer. The short explanation is that @Jan Ondrus is the maintainer of the official paq8px repository. When I (or anyone else) want to make changes, there is a mechanism called a pull request (because I am requesting that he "pull" my changes from my fork into his repository) in place to submit those changes to him, and have him merge them into the official repository. You can see here that there is a long history of working this way.

    @Shelwien: Yeah, I'm looking at the paq8p examples.

    @Jan: Thanks for the fast merge!

  33. Thanks:

    DZgas (9th February 2020)

  34. #1795
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    39
    Thanks
    17
    Thanked 11 Times in 8 Posts
    I still not clear why folder compression was remove in paq8px_v137, the default compression parameter was remove, the creation of the default archive in the same place as the compressed file...
    Last edited by DZgas; 10th February 2020 at 18:08.

  35. #1796
    Member
    Join Date
    Dec 2008
    Location
    Poland, Warsaw
    Posts
    1,217
    Thanks
    743
    Thanked 495 Times in 383 Posts
    Quote Originally Posted by Shelwien View Post
    pxe_v0: https://encode.su/threads/3325-Under...ll=1#post63430
    It had worse compression though.
    Thank you for the build. Unfortunetelly it doesn't work on my laptop - after "Creating archive xxxxx in single file mode..." program quit..

    In attached table there are scores for my testset on paq8pxe_v1 ic19, gc82 and cl90 with comparson to paq8px_v183fix1 - in general there no changes - some files got small gains, some small losess.

    However cl90 version look like something is wrong - files are 141% bigger than two other versions.

    According to compression times - gc82 version is about 10% slower than cl90 and ic19 is about 10% slower than gc82.
    Attached Thumbnails Attached Thumbnails Click image for larger version. 

Name:	paq8pxe_v1.jpg 
Views:	57 
Size:	224.2 KB 
ID:	7381  

  36. Thanks:

    Gotty (7th June 2020)

  37. #1797
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,977
    Thanks
    296
    Thanked 1,305 Times in 741 Posts
    Eppie's version has issues with compiling for targets other than AVX2.
    They're mostly fixed in pxe_v1, but you'd still have to use "-simd sse2" option with clang version to get it to work correctly.

  38. #1798
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    39
    Thanks
    17
    Thanked 11 Times in 8 Posts
    I wonder why the compressing "nothing" takes 1.20 seconds for paq8px, when for any other archive it takes 0.02 and 0.01 seconds
    Code:
    bsc         0.02
    bcm         0.0
    mcm         0.15
    paq8k       0.01
    paq8kx_v7   0.15
    paq8pxd_v71 0.8
    paq8px_v183 1.2
    
    paq8px_v71  0.03
    paq8px_v90  0.06
    paq8px_v126 0.1
    paq8px_v141 0.2
    paq8px_v156 0.5
    paq8px_v167 0.6
    paq8px_v172 1.2
    paq8px_v173 1.2

  39. #1799
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    39
    Thanks
    17
    Thanked 11 Times in 8 Posts
    Сompress 3000 blank files
    Code:
    tar            |1 537 536|
    zip            |  393 924|folder
    zip            |   15 485|tar
    7z             |    1 522|folder
    7z             |    2 603|tar
    paq8pxd_v71    |      153|folder 50 sec 
    paq8pxd_v71    |      933|tar 1300 sec 
    
    paq8px_v69     |      158|folder 12 sec 
    paq8px_v83     |      140|folder 12 sec 
    paq8px_v126    |      139|folder 20 sec 
    paq8px_v136    |      137|folder 70 sec 
    paq8px_v183fix1|      803|tar 2100 sec
    to make FILELIST for 3000 files - no thanks
    Last edited by DZgas; 10th February 2020 at 18:47.

  40. #1800
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    39
    Thanks
    17
    Thanked 11 Times in 8 Posts
    .exe compiled v185 from the last updates on github
    Attached Files Attached Files

  41. Thanks (2):

    Darek (10th February 2020),Eppie (10th February 2020)

Page 60 of 71 FirstFirst ... 1050585960616270 ... LastLast

Similar Threads

  1. FrontPAQ - GUI frontend for PAQ8PF and PAQ8PX
    By LovePimple in forum Download Area
    Replies: 26
    Last Post: 17th January 2019, 13:36
  2. Alternative paq8px builds
    By M4ST3R in forum Download Area
    Replies: 20
    Last Post: 25th June 2010, 16:19
  3. Optimized paq7asm.asm code not compatible with paq8px?
    By M4ST3R in forum Data Compression
    Replies: 7
    Last Post: 3rd June 2009, 15:34

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •