Page 60 of 61 FirstFirst ... 105058596061 LastLast
Results 1,771 to 1,800 of 1814

Thread: paq8px

  1. #1771
    Member
    Join Date
    Aug 2017
    Location
    United States
    Posts
    30
    Thanks
    18
    Thanked 22 Times in 15 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,687
    Thanks
    264
    Thanked 1,180 Times in 651 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
    190
    Thanks
    83
    Thanked 18 Times in 14 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
    440
    Thanks
    170
    Thanked 258 Times in 143 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:	39 
Size:	51.7 KB 
ID:	7320Click image for larger version. 

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


  7. #1775
    Member
    Join Date
    Sep 2014
    Location
    Italy
    Posts
    46
    Thanks
    61
    Thanked 25 Times in 15 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 :)

  8. #1776
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,687
    Thanks
    264
    Thanked 1,180 Times in 651 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

  9. #1777
    Member
    Join Date
    Sep 2014
    Location
    Italy
    Posts
    46
    Thanks
    61
    Thanked 25 Times in 15 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 02:04.

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

  11. #1779
    Member
    Join Date
    Aug 2017
    Location
    United States
    Posts
    30
    Thanks
    18
    Thanked 22 Times in 15 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?

  12. #1780
    Member
    Join Date
    Sep 2015
    Location
    Italy
    Posts
    260
    Thanks
    110
    Thanked 150 Times in 110 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, ...).

  13. #1781
    Member
    Join Date
    May 2008
    Location
    Estonia
    Posts
    440
    Thanks
    170
    Thanked 258 Times in 143 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


  14. #1782
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    14
    Thanks
    3
    Thanked 7 Times in 5 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       |=      |

  15. #1783
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    14
    Thanks
    3
    Thanked 7 Times in 5 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|

  16. #1784
    Member
    Join Date
    Dec 2008
    Location
    Poland, Warsaw
    Posts
    982
    Thanks
    592
    Thanked 403 Times in 301 Posts
    Hi! I've little been lost in the latest versions development.
    Are there versions v184 and v185 builds available to download somewhere?

  17. #1785
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,687
    Thanks
    264
    Thanked 1,180 Times in 651 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.

  18. Thanks:

    Darek (8th February 2020)

  19. #1786
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    14
    Thanks
    3
    Thanked 7 Times in 5 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:	29 
Size:	5.0 KB 
ID:	7371  

  20. #1787
    Member
    Join Date
    Jun 2009
    Location
    Puerto Rico
    Posts
    190
    Thanks
    83
    Thanked 18 Times in 14 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"?

  21. #1788
    Member
    Join Date
    Dec 2008
    Location
    Poland, Warsaw
    Posts
    982
    Thanks
    592
    Thanked 403 Times in 301 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?

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

  23. Thanks:

    Darek (9th February 2020)

  24. #1790
    Member
    Join Date
    Aug 2017
    Location
    United States
    Posts
    30
    Thanks
    18
    Thanked 22 Times in 15 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.

  25. Thanks:

    Darek (9th February 2020)

  26. #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

  27. Thanks:

    Eppie (9th February 2020)

  28. #1792
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    14
    Thanks
    3
    Thanked 7 Times in 5 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

  29. #1793
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,687
    Thanks
    264
    Thanked 1,180 Times in 651 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.

  30. #1794
    Member
    Join Date
    Aug 2017
    Location
    United States
    Posts
    30
    Thanks
    18
    Thanked 22 Times in 15 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!

  31. Thanks:

    DZgas (9th February 2020)

  32. #1795
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    14
    Thanks
    3
    Thanked 7 Times in 5 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 19:08.

  33. #1796
    Member
    Join Date
    Dec 2008
    Location
    Poland, Warsaw
    Posts
    982
    Thanks
    592
    Thanked 403 Times in 301 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:	24 
Size:	224.2 KB 
ID:	7381  

  34. #1797
    Administrator Shelwien's Avatar
    Join Date
    May 2008
    Location
    Kharkov, Ukraine
    Posts
    3,687
    Thanks
    264
    Thanked 1,180 Times in 651 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.

  35. #1798
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    14
    Thanks
    3
    Thanked 7 Times in 5 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

  36. #1799
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    14
    Thanks
    3
    Thanked 7 Times in 5 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 19:47.

  37. #1800
    Member DZgas's Avatar
    Join Date
    Feb 2020
    Location
    Russia
    Posts
    14
    Thanks
    3
    Thanked 7 Times in 5 Posts
    .exe compiled v185 from the last updates on github
    Attached Files Attached Files

  38. Thanks (2):

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

Page 60 of 61 FirstFirst ... 105058596061 LastLast

Similar Threads

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