Quantcast
Channel: Richard Geldreich's Blog
Browsing all 302 articles
Browse latest View live

Image may be NSFW.
Clik here to view.

LZHAM v1.0 vs. LZMA decomp. perf on a large corpus of files

LZHAM isn't always faster than LZMA. LZHAM has a more expensive startup cost (which I've reduced a bunch since the alpha but it's still there), and it must update several large Huffman tables at...

View Article


Image may be NSFW.
Clik here to view.

First LZHAM iOS stats with Unity asset bundle data

Got everything (both the compressor and decompressor) working. Was surprisingly easy. Had 1 misaligned load to deal with in the compressor's match finder because of a #ifdef problem.I combined together...

View Article


Image may be NSFW.
Clik here to view.

LZHAM v1.0 vs. LZMA decompression perf. on iPhone 6+

I borrowed a coworker's iPhone 6+ and reran my bundle compression benchmarking app. According to wikipedia, it's a 1.4 GHz dual-core ARMv8-A.LZHAM is 2.3x-9x faster on this device, unless the bundle's...

View Article

LZHAM v1.0 is being tested on iOS/OSX/Linux/Win

Currently testing it on a few machines using random codec settings with ~3.5 million files. We also just switched over our title's bundle decompression step from LZMA to LZHAM, so the decompressor will...

View Article

Windows 10: An Arrow Aimed Straight at Steam

I find this very interesting news, and if you're not paying attention you should:Phoronix: Windows 10 To Be A Free Upgrade: What Linux Users Need To KnowPC World: Windows 10's new features: Cortana, a...

View Article


LZHAM v1.0 released on github

Here: https://github.com/richgel999/lzham_codecI haven't merged over the XCode project yet, but it's fully compatible with OSX now. Also, LZHAM v1.0 is not backwards compatible with the previous alpha...

View Article

Image may be NSFW.
Clik here to view.

LZHAM 1.0 integrated into 7zip command line and GUI

I integrated the LZHAM codec into the awesome open source 7zip archiver a few years ago for testing purposes, but I was hesitant to release it because I was still frequently changing LZHAM's bitstream....

View Article

Image may be NSFW.
Clik here to view.

7zip 9.38 custom codec plugin for LZHAM 1.0

Igor Pavlov and the devs at encode.ru gave me some pointers on how to create a custom 7z codec DLL. Here's the first 32-bit build of the 7zip custom codec plugin DLL, compatible with 7zip 9.38 beta x86...

View Article


Upcoming LZHAM decompressor optimizations

All of these changes are on github:Over the previous week I've increased the decompressor's average speed by roughly 1.5%-2%, by enabling Huffman decoding acceleration tables on the distance LSB symbol...

View Article


More LZHAM small block optimizations

Improved tiny block performance (i.e. calling lzham_decompress_memory() on a 88 byte string) by 3.3x by profiling the decompression of 400k blocks and focusing on the hotspots.The top bottleneck was...

View Article

Image may be NSFW.
Clik here to view.

A Telemetry-style visualization of LZHAM v1.1's multithreaded compressor

I'm a big fan of Rad's Telemetry profiler, which I used at Valve for various Linux profiling tasks, but it's unfortunately out of reach to independent developers. So I'm just making my own mini version...

View Article

Image may be NSFW.
Clik here to view.

Graphing Heap Memory Allocations

We've instrumented the version of Mono that Unity v4.6 uses so it can create a full heap transaction log, as well as full heap memory snapshots after all GC's. With this data we can build complete...

View Article

LZHAM v1.0 is back on the Pareto frontier for decompression speed

LZHAM v1.0 is doing pretty good on this benchmark:http://mattmahoney.net/dc/text.htmllzham 1.0 -d29 -x 25,002,070 202,237,199 191,600 s 202,428,799 1096 6.6 7800 LZ77 70Thanks to Michael Crogan for...

View Article


Image may be NSFW.
Clik here to view.

Garbage collected systems must have good tools

Hey game engine developers: Please don't release garbage collected systems without solid tools.We need the ability to take full heap snapshots, visualize allocation graphs, do shortest path analysis...

View Article

Industrial strength Mono memory analysis tools for large scale Unity games

We've been investing a bunch of time into creating a set of Mono (C#) memory leak and performance analysis tools, which we've been using to help us ship our first title (Dungeon Boss). Here's a...

View Article


Image may be NSFW.
Clik here to view.

Dungeon Boss's current memory footprint on iOS

A snapshot of our current memory footprint on iOS, using Unity's built-in memory profiling tool (thanks to Sean Cooper):Mono       59Unity      53GfxDriver  34.4Textures   29.4Animations 23.8Meshes...

View Article

LZHAM decompressor optimization ideas

John Brooks (CEO of Blue Shift Inc.) and I were discussing LZHAM's current decompression performance vs. Google's Brotli codec and we came up with these ideas:- Basic block optimization:The current...

View Article


The great github migration

I've just migrated most of my projects from the sinking ship that is Google Code, but the wikis and readme.md files aren't setup...

View Article

Lessons learned while fixing memory leaks in our first Unity title

After several man months of tool making, instrumenting and compiling our own custom Mono DLL, and crawling through 5k-30k node heap allocation graphs in gephi, our first Unity title (Dungeon Boss for...

View Article

Image may be NSFW.
Clik here to view.

iOS Memory Pressure Hell: Apple's 64-bit requirement+Unity's IL2CPP tech

Apple's 64-bit requirement combined with the newness of Unity's promising new IL2CPP technology (which you must use to meet Apple's 64-bit requirement) is costing us a serious amount of memory...

View Article
Browsing all 302 articles
Browse latest View live