0

LZ-String与LZMA-JS性能对比

Posted in JavaScript at 九月 23rd, 2015 / No Comments »

先写结论:

?View Code JAVASCRIPT
lz-string compress used 9687
VM223:13 6080000 "->" 223361 0.03673700657894737
VM223:16 lz-string decompress used 121
undefined
VM223:20 lzma compress used 2332
VM223:21 6080000 "->" 2710 0.0004457236842105263
VM223:24 lzma decompress used 568

测试代码:

?View Code JAVASCRIPT
 
var m='{"body":{"monItemErrorCode":0,"startTime":1440406045191,"index":56,"hasManageAuth":true,"interval":5,"serverTime":1442998045433,"dataFound":true,"type":7415,"endTime":1442998045191,"monItemId":94,"success":true,"deviceId":523,"dataPoints":{"buffer":[1.20479744E8,1.2101926912E8,1.2116721664E8,1.2127404032E8,1.2138053632E8,1.2146065408E8,1.2153094144E8,1.2076777472E8,1.20795136E8,1.2086738944E8,1.2101238784E8,1.210810368E8,1.2113870848E8,1.21237504E8,1.2130975744E8,1.2084805632E8,1.2087525376E8,1.2094521344E8,1.2099600384E8,1.2103008256E8,1.2109299712E8,1.2060459008E8,1.2064456704E8,1.2073844736E8,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,1.15195904E8,1.152303104E8,1.153067008E8,1.1538961749E8,1.1549934933E8,1.1560670549E8,1.1570982912E8,1.1580575744E8,1.159213056E8,1.160194048E8,1.1609901739E8,1.161478144E8,1.1618021376E8,1.1623112704E8,1.1622348117E8,1.1631359317E8,1.1619224235E8,1.1596952917E8,1.1607450965E8,1.1612053504E8,1.1612280149E8,1.162305536E8,1.1620693333E8,1.1611116885E8,1.161750528E8,1.1609937237E8,1.1596952917E8,1.1603486037E8,1.1609161728E8,1.1618496512E8,1.1610577579E8,1.1594739712E8,1.1603836928E8,1.1571374763E8,1.1518640128E8,1.1528305323E8,1.1505180672E8,1.1466951339E8,1.1444394667E8,1.1404599296E8,1.1411972096E8,1.1419510101E8,1.1403833344E8,1.1377242112E8,1.1385843712E8,1.1395766955E8,1.1381873323E8,1.1354304512E8,1.1365384192E8,1.1368235008E8,1.1364723371E8,1.137729536E8,1.1374014464E8,1.1367869099E8,1.1387006976E8,1.1386481323E8,1.1377572523E8,1.1351308971E8,1.1308105728E8,1.1318762155E8,1.1324693163E8,1.1327442944E8,1.1338502144E8,1.1324780544E8,1.1298519723E8,1.1299349845E8,1.1295236096E8,1.1302939307E8,1.1284863659E8,1.1259153067E8,1.128218624E8,1.1304188587E8,1.1299030357E8,1.1284362581E8,1.129791488E8,1.1311396181E8,1.1325983403E8,1.134133248E8,1.1339026432E8,1.1326128128E8,1.1337940992E8,1.1351199744E8,1.1363910997E8,1.1378240171E8,1.1392173397E8,1.1372965888E8,1.1338113024E8,1.1355316224E8,1.1370702165E8,1.1385051819E8,1.1382846805E8,1.1371700224E8,1.1388407808E8,1.1403556181E8,1.1417152171E8,1.1430094165E8,1.1426436437E8,1.1415269376E8,1.1428125355E8,1.1440499371E8,1.1461701632E8,1.137494016E8,1.119911936E8,1.1176465749E8,1.1185952085E8,1.1195148971E8,1.1208090965E8,1.1219136512E8,1.1203783339E8,1.1178104149E8,1.1187260075E8,1.119346688E8,1.1201114112E8,1.120872448E8,1.1215859712E8,1.1223800491E8,1.1223990272E8,1.1221594112E8,1.1229534891E8,1.1235341653E8,1.1241585323E8,1.1249023659E8,1.1255016107E8,1.1263373312E8,1.1273131349E8,1.1283278507E8,1.1294113792E8,1.1308033365E8,1.1318748501E8,1.1278290944E8,1.1213884075E8,1.1216479573E8,1.1199893504E8,1.1182451371E8,1.1172099413E8,1.1123078485E8,1.1066705237E8,1.1034730496E8,1.0996671829E8,1.0897352021E8,1.0846479701E8,1.0849140736E8,1.0851824981E8,1.0863108096E8,1.0871637333E8,1.0882207744E8,1.0891119275E8,1.0898175317E8,1.0904543232E8,1.0901714261E8,1.0900481365E8,1.0910866091E8,1.0916672853E8,1.0923577344E8,1.0934636544E8,1.0944869717E8,1.0955698176E8,1.0968058539E8,1.0978212523E8,1.0989450581E8,1.1001724928E8,1.1012711765E8,1.1024748544E8,1.1035477333E8,1.1045717333E8,1.1054966101E8,1.1059279189E8,1.1063416149E8,1.1075050155E8,1.1086267733E8,1.1096012117E8,1.1105188523E8,1.1112461653E8,1.1118540117E8,1.1128542549E8,1.1139185323E8,1.1148771328E8,1.1158766933E8,1.1167685291E8,1.1174978901E8,1.1183422123E8,1.1193503744E8,1.1205388971E8,1.1217835349E8,1.122715648E8,1.1234622123E8,1.1240573611E8,1.1244201301E8,1.1250827264E8,1.1256568491E8,1.1264192512E8,1.1272463701E8,1.1280906923E8,1.1288840875E8,1.1295566507E8,1.1304254123E8,1.1313509717E8,1.1321860096E8,1.1329893717E8,1.1337913685E8,1.1341493589E8,1.1344143701E8,1.1351595691E8,1.1357567659E8,1.136273408E8,1.1367721643E8,1.1373311317E8,1.1382652928E8,1.1391987712E8,1.1400424107E8,1.1408450901E8,1.1414416043E8,1.1418023253E8,1.1424266923E8,1.1432035669E8,1.1438351701E8,1.1443656021E8,1.1446946475E8,1.1454002517E8,1.1462848512E8,1.1469467648E8,1.1474806101E8,1.1477797547E8,1.1478822912E8,1.1486928896E8,1.1494301696E8,1.1500352853E8,1.1504779264E8,1.1509859669E8,1.1515845291E8,1.1523304107E8,1.1531826517E8,1.1541168128E8,1.1550502912E8,1.1558443691E8,1.1566232917E8,1.1575078912E8,1.1584176128E8,1.1593345707E8,1.1600876885E8,1.1608421717E8,1.1617432917E8,1.1626278912E8,1.1634880512E8,1.1643812523E8,1.1654224555E8,1.1666102955E8,1.1676990123E8,1.1685254485E8,1.1689825621E8,1.1694437717E8,1.1703779328E8,1.1713444523E8,1.172154368E8,1.1728513707E8,1.1738192555E8,1.1748088491E8,1.1756373333E8,1.1764465664E8,1.17755904E8,1.174079488E8,1.1674281301E8,1.1682889728E8,1.1692554923E8,1.169569792E8,1.1695666517E8,1.1702695253E8,1.1661524992E8,1.1599648085E8,1.1607523328E8,1.1593729365E8,1.1554073259E8,1.1541570901E8,1.1548857685E8,1.1539716779E8,1.1506532352E8,1.1490463744E8,1.1500201301E8,1.1499393024E8,1.146406912E8,1.1427378517E8,1.1435894101E8,1.1408983381E8,1.135706112E8,1.1351509675E8,1.1358235307E8,1.1344785408E8,1.1319805269E8,1.1326782123E8,1.1335211691E8,1.1343826944E8,1.135290368E8,1.1360369323E8,1.1368798891E8,1.1352137728E8,1.1324317696E8,1.1332516523E8,1.1340946091E8,1.1348404907E8,1.1334128981E8,1.1309248512E8,1.1319171755E8,1.1302139221E8,1.1269926912E8,1.1278363307E8,1.1287381333E8,1.1298942976E8,1.1271654059E8,1.1223648939E8';
var a=[];
for(var i=0;i<1000;i++){
	a.push(m);
}
var msg = a.join('');
console.log(msg.length);
var s=new Date().getTime();
var rs = LZString144.compress(msg);
console.log('lz-string compress used', new Date().getTime()-s);
console.log(msg.length, '->', rs.length, rs.length/msg.length);
s=new Date().getTime();
 LZString144.decompress(rs);
console.log('lz-string decompress used', new Date().getTime()-s);
 
s=new Date().getTime();
 my_lzma.compress(msg, 1, function (rs) {
	console.log('lzma compress used', new Date().getTime()-s);
	console.log(msg.length, '->', rs.length, rs.length/msg.length);
	s=new Date().getTime();
	 my_lzma.decompress(rs, function (result) {
		console.log('lzma decompress used', new Date().getTime()-s);
    }, function (percent) {});
  }, function (percent) {});

http://pieroxy.net/blog/pages/lz-string/demo.html

Published in JavaScript

No Responses to “LZ-String与LZMA-JS性能对比”

Leave a Reply

请输入算式结果(看不清请点击图片)
(必须)