Giter Site home page Giter Site logo

memory leak on big size image about blurhash HOT 3 OPEN

woltapp avatar woltapp commented on June 25, 2024
memory leak on big size image

from blurhash.

Comments (3)

sngrl avatar sngrl commented on June 25, 2024 2

I don't use BlurHash, but have the similar problem - huge memory leak when using imagecolorat() function. I call imagecolorat() for each pixel of the image (via two nested cycles, as at code example at first message) - it's required for my business logic process.
I process many images in cycle at one process, and I call imagedestroy() after finish of each image processing, but unfortunately memory still leaked.
If I comment line with imagecolorat() calling memory leak is disappear. So I think that after calling imagedestroy() memory, used for store result of the imagecolorat() work, still full of data and not purged until php-process was not finished or killed.
I have no idea what we can to do with that.

Added a little bit later:

When you are using unset, the memory will only be freed whenever garbage collector decides, but when you are setting a variable to a different value (null in this case), then you might get some memory freed of course with the cost of CPU.

So, I tried change my code from imagedestroy($resource) to $resource = null and memory leak was gone.
I hope this will be useful to someone.

from blurhash.

xpire avatar xpire commented on June 25, 2024

I think you're not meant to apply the algorithm onto a large image directly, it should be scaled down first as per README.

from blurhash.

hodev-dev avatar hodev-dev commented on June 25, 2024

I'm mot expert but as web going to support 4k and HIDPI more and more.we need higher resolution image .It would be better if we change algorythm to use stream or buffer for biger size images

from blurhash.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.