Posted By: W3bbo | Jun 12th @ 11:48 AM
page 1 of 3
Comments: 50 | Views: 1311
W3bbo
W3bbo
The Master of Baiters

...well, the world of software dev.

Right now there's no implementation of 7zip for the managed world. There is a C# port of the LZMA algorithm for compressing streams but it isn't 7z compatible and has pitiful performance (6 min to compress 80MB when 7z does it in 30 seconds). The only alternatives include P/Invoking to the 7z DLLs or using ShellExecute.

7z is under a pretty liberal licensing scheme and is begging for a port over to C#. I can't do it all myself as it's a fairly large undertaking, I imagine a team of two or three people would be great, especially if you're a student like me who doesn't have much to do over the summer holiday until October.

I propose putting it on CodePlex and doing all dev there. Who'se with me?

This would also be my first true "team" software dev exercise; to anyone who might be interested: I can deflate my ego where necessary, I'm after a nice managed 7z library first, fame and glory second.

brian.shapiro
brian.shapiro
things go on as always

I'd be interested in the design-side of things if anyone is ever interested in creating an actual compression/decompression application.

CannotResolveSymbol
CannotResolveSymbol
{insert caption here}

I'm interested...  I'll IM you if you're still on after I get done @ work.

I'm interested...Let me know what I can do. Email is paistss at hotmail dot com.

TommyCarlier
TommyCarlier
I want my scalps!

I might be interested. Mail me on:
string.Format(
  CultureInfo.InvariantCulture,
  "{0}.{1}@telenet.{2}",
  myFirstName,
  myLastName,
  Belgium.CountryCode);

figuerres
figuerres
???

"I might be interested. Mail me on string.Format(CultureInfo.InvariantCulture, "{0}.{1}@telenet.{2}", myFirstName, myLastName, Belgium.CountryCode);"

Big Smile

neat way to make it hard to web-scrape ....

TommyCarlier
TommyCarlier
I want my scalps!

It's also a test to see if W3bbo is worthy Wink

“But choose wisely, for while the true Grail will bring you life, the false Grail will take it from you.”

stevo_
stevo_
Human after all

Symbol? phht- been that long? Tongue Out

Dan
Dan

Love this idea, we'll pimp it out on This Week on Channel 9 next week to see if you can get more volunteers.

MasterPie
MasterPie
I'm white because I smelt an onion

I'll gladly sacrifice a line of code for your endeavors W3bbo! Tongue Out

littleguru
littleguru
<3 Seattle

I thought 7zip provides a SDK that allows you to code against it in C#. At least there's a link for that on the website...

http://www.7-zip.org/sdk.html

LZMA is the default and general compression method of 7z format in the 7-Zip program. LZMA provides a high compression ratio and very fast decompression, so it is very suitable for embedded applications. For example, it can be used for ROM (firmware) compressing.

LZMA SDK includes:

  • C++ source code of LZMA Encoder and Decoder
  • ANSI-C compatible source code for LZMA decompression with example
  • C# source code for LZMA compression and decompression
  • Java source code for LZMA compression and decompression
  • Compiled file->file LZMA compression/decompression program for the Windows operating system
Dr Herbie
Dr Herbie
Horses for courses

I don't have much spare time to give, but I'm willing and able to help out in a minor role (review and test, perhaps?).

Herbie

 

stevo_
stevo_
Human after all

What does the rest of the 7z library do then? surely the c# lzma impl atm just isn't well optimized?

ZippyV
ZippyV
Fired Up

When you have created the Codeplex project, post the link here and I'll sign up.

"save the cheerleader save the world" huh? Smiley

vesuvius
vesuvius
Das Glasperlenspiel

According to Vance Morrison unzipping/zipping is one of those easily parallelisable events. If you use the Task Parallel Library, unzipping on a Core 2 takes half the time, quad core 1/4 and so on so you may want to use that.

Dr Herbie
Dr Herbie
Horses for courses

Ooh, now that sounds like a feature!

Herbie

 

CannotResolveSymbol
CannotResolveSymbol
{insert caption here}

Compress 7z files...  the LZMA library only implements the LZMA algorithm, not the rest of the 7zip format (e.g. archives with multiple files, etc.)

Bass
Bass
www.s​preadfirefox.c​om/5years/

If you implement it using Mono.SIMD it will be very very fast (at least on Mono). Smiley

longnightmoon
longnightmoon
crop_circles

Sounds like fun. I'm kind of busy, but I might be able to squeeze in a few cycles.

 

stevo_
stevo_
Human after all

My point was.. making the rest of the 7z library wouldn't somehow make it faster.. the core problem is that somebody needs to build a good perf lzma impl for c#.. which to me would indicate requirement for a little more arrangment than asking a couple of people on what isn't really a serious developers forum.

page 1 of 3
Comments: 50 | Views: 1311
Microsoft Communities