速度之王 — LZ4压缩算法(三)】的更多相关文章

LZ4使用 make / make clean 得到可执行程序:lz4.lz4c Usage: ./lz4 [arg] [input] [output] input : a filename Arguments : -1 : Fast compression (default) -9: High compression -d : decompression (default for .lz4 extension) -z : force compression -f : overwrite out…
LZ4 (Extremely Fast Compression algorithm) 项目:http://code.google.com/p/lz4/ 作者:Yann Collet 本文作者:zhangskd @ csdn blog 简介 LZ4 is a very fast lossless compression algorithm, providing compression speed at 400MB/s per core, scalable with multi-cores CPU.…
LZ4 (Extremely Fast Compression algorithm) 项目:http://code.google.com/p/lz4/ 作者:Yann Collet 本文作者:zhangskd @ csdn blog LZ4格式 The compressed block is composed of sequences. 每个数据块可以压缩成若干个序列,格式如下: (1) literals length of literals. If it is 0, then there is…
参考: http://www.slideshare.net/lucenerevolution/what-is-inaluceneagrandfinal http://www.slideshare.net/jpountz/how-does-lucene-store-your-data http://www.infoq.com/cn/articles/database-timestamp-02?utm_source=infoq&utm_medium=related_content_link&u…
原文:http://blog.chinaunix.net/uid-253932-id-3037805.html 工作需要,要弄截图且缩小.截图倒是好说,WIN API可以搞定,但是缩小且尽量不失真,这个对我来说难度太大了吧.这里主要说说缩小的算法.我从网上找到两个算法分别是bilinear和nearest.但是效果看上去太差了.我先贴上处理后的三种算法效果图,然后再贴算法. bilinear nearest cubic 当然大家可以看的出来,效果最好的自然是Cubic,提供一些该算法的资料,不过…
前言 通常在搜索打分完毕后,IndexSearcher会返回一个docID序列,但是仅仅有docID我们是无法看到存储在索引中的document,这时候就需要通过docID来得到完整Document信息,这个过程就需要对fdx/fdt文件进行读操作.为了更清楚地了解fdx/fdt文件的作用,本文把fdx/fdt文件的读和写整合到了一起,尽管这在Lucene中是两个分开的过程. 1. 索引生成阶段 索引生成阶段包含着一个复杂的过程,所以了解本文前最好对Lucene的索引架构有一定的了解,可以参考博…
上一章:[Unity3D技术文档翻译]第1.8篇 AssetBundles 问题及解决方法 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Development]→[AssetBundles]→[Unity Asset Bundle Browser tool] Unity AssetBundle 浏览管理工具(Unity Asset Bundle Browser tool) 注意:这个工具是 Unity 标准功能之外的附加功能.想要使用…
本文目录:1.vpn概述 1.1 vpn应用场景 1.2 隧道协议 1.3 SSL VPN和IPSEC VPN2.openvpn搭建client-to-site的vpn 2.1 安装lzo和openvpn 2.2 创建CA和SSL证书 2.3 配置服务端 2.4 配置客户端 2.5 查看vpn的连接状态 2.6 让客户端和vpn所在内网通信 2.7 使用NAT让客户端和VPN所在内网通信3.使用密码拨号以及帐号吊销4.Linux主机上配置openvpn客户端 1.vpn概述 VPN(virtua…
为热更新打基础(xlua\tolua) 素材.源码链接:http://www.sikiedu.com/course/74/task/1812/show 一.AssetBundle的定义和作用 1,AssetBundle是一个压缩包包含模型.贴图.预制体.声音.甚至整个场景,可以在游戏运行的时候被加载: 2,AssetBundle自身保存着互相的依赖关系: 3,压缩包可以使用LZMA和LZ4压缩算法,减少包大小,更快的进行网络传输: 4,把一些可以下载内容放在AssetBundle里面,可以减少安…
 虚拟机安装NreeNAS-9.10步骤 需求:网络监控磁盘要扩容 测试环境: CPU 内存 系统盘 共享盘 网卡 2核 2G 20G 20G 桥接 系统版本:FreeNAS-9.10 一.配置虚拟机: 首先新建虚拟机,进入新建虚拟机向导,可选择"安装程序光盘映像文件”或“稍后安装操作系统”,我选择了后者 操作系统选择“其他”,版本选择FreeBSD 64位 设置虚拟机名称及安装位置. 创建虚拟机磁盘. 配置硬件. 分配内存和处理器,也可采用默认,网络连接模式改为“桥接模式”,选择需要安装的IS…
一 简介:MGR集群架构的调优二 过程:本文将从各个角度来具体阐述下三 硬件    1 硬件选择相同配置的服务器,磁盘,内存,cpu性能越高越好四 网络    1 0丢包和最好万兆网卡五 MGR本身   MGR本身需要非常好的网络情况,主要有以下几点需要  1 内部集群的心跳检测  2 写集合的广播和发送验证  3 binlog的内部传输六 相关优化参数   1 report_host 直接绑定真实IP,而非机器域名,减少DNS解析问题,还可以避免因为解析错误导致的集群本身问题   2 grou…
Unity 3-7 AssetBundle从入门到掌握 任务1&2&3:课程介绍 AssetBundle -- 用于资源的更新 为了之后的xLua (Lua热更新的框架)打下基础 任务4&5:AssetBundle的定义和作用 AssetBundle的学习 -- 一手学习资源:UnityManual -> AssetBundles -> 教程式的文档 AssetBundle是一个压缩包(也可以认为是一个文件夹) 包含模型Model.贴图Texture.预制体Prefab…
修改SMB最小协议 服务器最小协议由FreeNAS上的sysctl控制. 在System-> Tunables 下添加sysctl来使其永久化:Variable = freenas.services.smb.config.server_min_protocol Value = NT1 Type = Sysctl Comment =“您想要的任何内容” 注意:一旦更改此值,应该在服务器 - > SMB的UI中切换“开”/“关”按钮或重新生成smb4.conf文件 sharing>windo…
原文链接   Deepgreen DB 全称 Vitesse Deepgreen DB,它是一个可扩展的大规模并行(通常称为MPP)数据仓库解决方案,起源于开源数据仓库项目Greenplum DB(通常称为GP或GPDB).所以已经熟悉了GP的朋友,可以无缝切换到Deepgreen.   它几乎拥有GP的所有功能,在保有GP所有优势的基础上,Deepgreen对原查询处理引擎进行了优化,新一代查询处理引擎扩展了: 优越的连接和聚合算法 新的溢出处理子系统 基于JIT的查询优化.矢量扫描和数据路径…
原文链接:  https://blog.csdn.net/njpjsoftdev/article/details/52955788 在介绍Druid架构之前,我们先结合有关OLAP的基本原理来理解Druid中的一些基本概念. 1 数据  以图3.1为例,结合我们在第一章中介绍的OLAP基本概念,按列的类型上述数据可以分成以下三类: 时间序列(Timestamp),Druid既是内存数据库,又是时间序列数据库,Druid中所有查询以及索引过程都和时间维度息息相关.Druid底层使用绝对毫秒数保存时…
Deepgreen官网下载地址:http://vitessedata.com/products/deepgreen-db/download/ 不需要注册 Greenplum官网下载地址:https://network.pivotal.io/products/pivotal-gpdb/#/releases/118806/file_groups/1022 需要注册             Deepgreen DB 全称 Vitesse Deepgreen DB,它是一个可扩展的大规模并行(通常称为M…
what is zram? Zram wiki zram zram(也称为 zRAM,先前称为 compcache)是 Linux 内核的一项功能,可提供虚拟内存压缩.zram 通过在 RAM 内的压缩块设备上分页,直到必须使用硬盘上的交换空间,以避免在磁盘上进行分页,从而提高性能.由于 zram 可以用内存替代硬盘为系统提供交换空间的功能,zram 可以在需要交换 / 分页时让 linux 更好利用 RAM ,在物理内存较少的旧电脑上尤其如此. 即使 RAM 的价格相对较低,zram 仍有利于…
在游戏开发中,常常需要用到热更新技术.比如:一个手机游戏开发好后,用户安装到手机上.如果此时我们要更新一个新的功能,如果没有热更新,那么需要用户卸载掉手机上的游戏,然后安装新的包,这样做十分麻烦,而且容易流失用户.这个时候就需要使用热更新技术,让用户在手机上下载新的游戏功能,不用重新下载就行了.下面使用的AssetBundle,严格意义上来说不算是热更新,但是,它也能减少初始包体的大小.比如我们开发一款棋牌游戏,最初的包体只放出了斗地主,在游戏中,如果玩家还想玩麻将,那么此时再下载麻将的相关资源…
第一章. clickhouse入门 一.ClickHouse介绍 ClickHouse(开源)是一个面向列的数据库管理系统(DBMS),用于在线分析处理查询(OLAP). 关键词:开源.面向列.联机分析处理(OLAP) ClickHouse不仅查询速度快(相较于hive等类似的分析型DBMS),而且硬件使用效率.容错性.可靠性.易用性.线性扩展性等高. 1.1 ClickHouse的独特功能 真正的列式DBMS 除了数据本身外不应该存在其他额外的数据.这意味着为了避免在值旁边存储它们的长度“nu…
前言 最近项目上有大量的字符串数据需要存储到内存,并且需要储存至一定时间,于是自然而然的想到了使用字符串压缩算法对"源串"进行压缩存储.由此触发了对一些优秀压缩算法的调研. 字符串压缩,我们通常的需求有几个,一是高压缩率,二是压缩速率高,三是解压速率高.不过高压缩率与高压缩速率是鱼和熊掌的关系,不可皆得,优秀的算法一般也是采用压缩率与性能折中的方案.从压缩率.压缩速率.解压速率考虑,zstd与lz4有较好的压缩与解压性能,最终选取zstd与lz4进行调研. zstd是facebook开…
计算机单机性能一直受到摩尔定律的约束,随着移动互联网的兴趣,单机性能不足的瓶颈越来越明显,制约着整个行业的发展.不过我们虽然不能无止境的纵向扩容系统,但是我们可以分布式.横向的扩容系统,这听起来非常的美好,不过也带来了今天要说明的问题,分布式的节点越多,通信产生的成本就越大. 网络传输带宽变得越来越紧缺,我们服务器的标配上了10Gbps的网卡 HTTPx.x 时代TCP/IP协议通讯低效,我们即将用上QUIC HTTP 3.0 同机器走Socket协议栈太慢,我们用起了eBPF .... 现在我…
上一章:[Unity3D技术文档翻译]第1.2篇 为打包 AssetBundles 准备资产 本章原文所在章节:[Unity Manual]→[Working in Unity]→[Advanced Development]→[AssetBundles]→[Building AssetBundles] 创建 AssetBundles 在[AssetBundles 工作流]一节中,我们使用了一个有3个参数的方法:BuildPipeline.BuildAssetBundles.这一节我们更深入一点,…
kafka为什么这么优秀! 阿飞的博客 匠心零度 今天 1.动机2.持久化3.效率4.生产者4.1负载均衡4.2异步发送5.消费者Push vs. Pull消费者位置离线数据加载 1.动机 kafka被设计为能扮演一个大公司可能需要的处理所有实时数据流的统一平台.为了达成这个目的,我们必须考虑相当广泛的用例. 它必须有很高的吞吐量,以便能支持高容量的事件流,比如实时日志聚合: 它必须能优雅的处理大数据积压,能支持从离线系统定期加载数据: 系统必须能低延迟发布消息: 我们要它能分区,分布式,实时处…
tiKV 最底层使用的是 RocksDB(tidb3.0版本中将使用tian存储引擎) 做为持久化存储,所以 TiKV 的很多性能相关的参数都是与 RocksDB 相关的.TiKV 使用了两个 RocksDB 实例,默认 RocksDB 实例存储 KV 数据,Raft RocksDB 实例(简称 RaftDB)存储 Raft 数据. TiKV 使用了 RocksDB 的 Column Families (CF) 特性. 默认 RocksDB 实例将 KV 数据存储在内部的 default.wri…
导读 ZFS文件系统的英文名称为ZettabyteFileSystem,也叫动态文件系统(DynamicFileSystem),是第一个128位文件系统.最初是由Sun公司为Solaris10操作系统开发的文件系统.作为OpenSolaris开源计划的一部分,ZFS于2005年11月发布,被Sun称为是终极文件系统,经历了10年的活跃开发,而最新的开发将全面开放,并重新命名为OpenZFS. ZFS优势 ZFS是一种先进的.高度可扩展的文件系统,最初是由Sun Microsystems开发的,现…
http://blog.csdn.net/lodypig/article/details/51879702 AssetBundle内存占用 建议 实测 www加载实测 LoadFromFile加载实测 建议 AssetBundle内存占用 先上图,Don’t panic.  我们从AssetBundle中加载资源一般会经过三个步骤: www.LoadFromFile.LoadFromMemory等接口加载AssetBundle本身. 通过AssetBundle.LoadAsset()等接口从As…
大家或许还记得 Quake III 里面的一段有如天书般的代码,其中用到的神秘常量 0x5F3759DF 究竟是怎么一回事,着实让不少人伤透了脑筋.今天,我见到了一段同样诡异的代码.     下面这个位运算小技巧可以迅速给出一个数的二进制表达中末尾有多少个 0 .比如, 123 456 的二进制表达是 1 11100010 01000000 ,因此这个程序给出的结果就是 6 . unsigned int v;  // find the number of trailing zeros in 32…
引言: 前面的文章提到,Heap包括了PSYoungGen.ParOldGen.Metaspace.JVM 在进行GC时,并非每次都对上面三个内存区域一起回收的,大部分时候回收的都是新生代.由于新生代和老年代的内存空间大小不同以及对象存活率不同,所以针对不同区域JVM采用了不同的GC,不同的GC是通过不同的算法实现的.在Jdk8中,按照回收区域的不同,把GC分为工作在新生代的普通GC(minor GC)和工作在堆全局空间的全局GC(Full  GC). 由于新生代和老年代占比空间为1:2,且采用…
AssetBundle资源打包  1.AssetLabels资源标签 文件名:资源打包成AssetBundle后的文件名,类似于压缩包的名字 后缀:自定义 文件名和后缀名都是小写格式(大写会自动转为小写)2. BuildPipeline.BuildAssetBundles(string outputPath, BuildAssetBundleOptions assetBundleOptions, BuildTarget targetPlatform) 打包所有设置了AssetLabel的资源 o…
在第一篇博客我们了解到一个kafka系统,通常是生产者Producer 将消息发送到 Broker,然后消费者 Consumer 去 Broker 获取,那么本篇博客我们来介绍什么是生产者Producer. 1.生产者概览 我们知道一个系统在运行过程中会有很多消息产生,比如前面说的对于一个购物网站,通常会记录用户的活动,网站的运行度量指标以及一些日志消息等等,那么产生这些消息的组件我们都可以称为生产者. 而对于生产者产生的消息重要程度又有不同,是否都很重要不允许丢失,是否允许丢失一部分?以及是否…