archive-ca.com » CA » E » EVANJONES.CA

Total: 397

Choose link from "Titles, links and description words view":

Or switch to "Titles and links view".
  • Python Memory Management (evanjones.ca)
    the entire thing cannot be freed The solution is to find this reference and get rid of it I began looking for my memory leak by creating a minimal test that ran a big search Next I added del reference statements one variable at a time trying to find which one was holding on to memory I deleted all my variables and still my program s size did not change Next I added calls to force Python s cyclic garbage collector to run in case I had circular references that were keeping the objects from being deleted Python still consumed a gigabyte of memory Finally I turned to Google to see if anyone else has had a similar problem I turned up a mailing list thread about Python never returning memory to the operating system It turns out that this is a flaw with the Python interpreter People work around it by spawning multiple processes or using data structures on disk Then I was curious why would Python choose to never free memory Many hours later I now know far more than I ever wanted to about how Python deals with memory Python does a lot of allocations and deallocations All objects including simple types like integers and floats are stored on the heap Calling malloc and free for each variable would be very slow Hence the Python interpreter uses a variety of optimized memory allocation schemes The most important one is a malloc implementation called pymalloc designed specifically to handle large numbers of small allocations Any object that is smaller than 256 bytes uses this allocator while anything larger uses the system s malloc This implementation never returns memory to the operating system Instead it holds on to it in case it is needed again This is efficient when

    Original URL path: http://www.evanjones.ca/python-memory.html (2016-04-30)
    Open archived version from archive

  • Simultaneous Multithreading Performance (evanjones.ca)
    important as this type of technology is making its way into CPU designs by all the major players Intel AMD IBM and Sun According to Intel SMT which they call hyper threading can give a performance boost of up to 30 However this improvement is application dependant and there are some applications where hyperthreading actually hurts performance For example this DivX encoding benchmark shows a noticable loss when SMT is enabled This shows that it is not trivial to gain extra performance with SMT To help shed some light on this question I found two interesting documents on SMT performance from Intel The first document is a discusson about how SMT is the beginning of a shift towards explicit parallelism in all types of applications not just servers and scientific computaiton The last few generations of CPU improvements such as pipelining and superscalar execution exploit the implicit parallelism that exists in machine code Unfortunately we are hitting the limits of this approach Sun calls this paradigm shift throughput computing which is a name that I feel is relatively descriptive The challenge is that we need to change our tools and mindsets to take advantage of the available multithreaded computational power The second document gives developers some concrete advice for improving application performance It describes how to use cache blocking effectively on SMT processors Cache blocking is when you adjust the size of the chunks of data you are processing to fit them into cache The article presents some interesting graphs which suggest that for a single processor blocks should be around half to three quarters the size of the L2 cache but when hyper threading is enabled this size is too big because the cache is shared between two threads For the best SMT performance the block size should be

    Original URL path: http://www.evanjones.ca/smt-performance.html (2016-04-30)
    Open archived version from archive

  • Classic Games: Adventures (evanjones.ca)
    became the top selling computer game of all time until The Sims 2000 A decade later almost no one makes this kind of game anymore as the Wikipedia entry points out I picked up and played a couple of the old Lucasarts games courtesy of ScummVM and found them a little lacking I chuckled at some of the jokes and enjoyed the excellent voice acting but I was also frustrated

    Original URL path: http://www.evanjones.ca/adventure-games.html (2016-04-30)
    Open archived version from archive

  • Vonnegut, Kurt. God Bless You, Mr. Rosewater. New York: Delacorte, 1965. (evanjones.ca)
    Vonnegut to be an interesting author I really loved Welcome to the Monkey House a collection of his short stories but I found Breakfast of Champions to be a little bizarre This book is similarly strange but I enjoyed it

    Original URL path: http://www.evanjones.ca/books/god-bless-rosewater.html (2016-04-30)
    Open archived version from archive

  • Python 2.3 RPMs for Redhat 9 + PIL (evanjones.ca)
    9 only If you are using Fedora get the RPMs from the Python website They will not replace the existing version Python so you will need to run python2 3 instead of python Python 2 3 python2 3 2 3 4 3pydotorg i386 rpm Main Python package original package python2 3 docs 2 3 4 3pydotorg i386 rpm Documentation python2 3 tools 2 3 4 3pydotorg i386 rpm Miscellaneous tools

    Original URL path: http://www.evanjones.ca/software/redhat9-python.html (2016-04-30)
    Open archived version from archive

  • Coupland, Douglas. Hey Nostradamus!. Toronto: Random House Canada, 2003. ISBN: 0679312692. (evanjones.ca)
    October 02 19 45 This book is by far Douglas Coupland s best since Microserfts and Generation X which were both fantastic This story is very dark and depressing and lacks Coupland s typical humour but in the end it

    Original URL path: http://www.evanjones.ca/books/hey-nostradamus.html (2016-04-30)
    Open archived version from archive

  • ISP Traffic = BitTorrent (evanjones.ca)
    is the application consuming the most bandwidth worldwide I know SuprNova is popular but I didn t realize it was that popular P2P traffic as a whole dwarfs everything else combined which shouldn t be a surprise to anyone These numbers make me think that someone is missing a huge opportunity here What opportunity I m not sure but there is obviously a huge demand for TV movies and music

    Original URL path: http://www.evanjones.ca/isp-traffic.html (2016-04-30)
    Open archived version from archive

  • The DarkNet Paper (evanjones.ca)
    describes why digital rights management DRM technology is an extremely difficult problem It is required recommend reading for anyone interested in the technical and social challenges of digital content distribution If you like this paper I also recommend Cory Doctorow

    Original URL path: http://www.evanjones.ca/researchpapers/darknet.html (2016-04-30)
    Open archived version from archive