前面三篇中,我们依次分析了 WebRTC Android 的视频采集、视频渲染和视频硬编码,Live Streaming 视频的前段就已经全了。WebRTC 是个宝,初窥这部分代码时就被它的 Capturer 类的设计惊艳到了,仔细品鉴后越发佩服起来,里面简直填了太多坑了,如此宝贝,如不能为我所用,岂非一大憾事!而前三篇的解读,正是为了今天能将其剥离出来所做的铺垫,现在就有请我们今天的主角——VideoCRE, Video Capture, Render and Encode——闪亮登场。
继续阅读 »
目录
Table of Contents
{:toc}
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
问题描述
生产库中一张表的数据10亿级别,另一张表数据100亿级别,还有其他表的数据也是相当地庞大。入职之前不知道这些表有那么大的数据量,于是习惯了使用count(*)来统计表的记录数。但这一执行就不得了,跑了30多分钟都没出结果,最后只有取消查询。后来采取了另一种办法查询记录数。首先说明下解决的办法,使
继续阅读 »
写在前面
如果你不会原生js,只会用jquery,那么你必须懂得jquery如何做性能优化。下面我总结了一些常用的,希望对大家有些帮助。
使用最新的jQuery类库
使用合适的选择器
(1) 使用id来定位DOM元素是最高效的方式,如果不能直接用id找到你需要的元素,可以考虑用find()方法。
(2) 标签选择器的性能也是不错的,它是性能优化的第二选择,因为jQuery将直接调用本地方法document.getElementByTagName()来定位DOM元素。
(3) 对于类选择器,现代浏览器和IE9+ 支持本地方法document.getElementByClassName(),而对于老的浏览器如IE8 以及以前的版
继续阅读 »
当提到前端性能优化时,我们首先会联想到文件的合并、压缩,文件缓存和开启服务器端的 gzip 压缩等,这使得页面加载更快,用户可以尽快使用我们的 Web 应用来达到他们的目标。
资源预加载是另一个性能优化技术,我们可以使用该技术来预先告知浏览器某些资源可能在将来会被使用到。
引用 Patrick Hamann 的解释:
预加载是浏览器对将来可能被使用资源的一种暗示,一些资源可以在当前页面使用到,一些可能在将来的某些页面中被使用。作为开发人员,我们比浏览器更加了解我们的应用,所以我们可以对我们的核心资源使用该技术。
这种做法曾经被称为 prebrowsing,但这并不是一项单一的技术,可以细分为几个不同的技术:DNS-prefe
继续阅读 »
引言
影响网页打开速度的原因有许多种,本文主要对部署在github上的hexo博客页面的加载速度做一个分析。然后给出几点相关的优化建议。
more
加载速度对比
先看下面几个站点的加载速度
- www.ieclipse.cn
这是我自己的站点,使用了双线部署,国内节点为coding.net。
{% asset_img ieclipse.cn.png %}
请求非常多,52个请求,页面加载用时427ms,加上其它的异步请求,总用时1.54s。相当于页面秒开。加载相对较慢的有nova.css和那个自动隐藏导航栏的js脚本。其它的像jq和bootstrap都使用了cdn,加载还是相当快的。
继续阅读 »
文/Robin
本站推广
币安是全球领先的数字货币交易平台,提供比特币、以太坊、BNB 以及 USDT 交易。
币安注册: https://accounts.binancezh.pro/cn/register/?ref=11190872
邀请码: 11190872
0x00 目录
Table of Contents
{:toc}
| 日期 | 作者 | 文档概要 | 版本 | 更新历史 |
|:------------|:---------------|:-----|:-----|:-----|:-----|
| 2017/03/14 | robin | 美团点评开源 SQL 优化工具 SQLAdvisor 测试报告
继续阅读 »
1个客户端同时向服务器发出100个请求,等待所有的请求都返回才算成功。
99%的请求10ms返回,1%的请求1000ms返回.
假设慢请求的概率是 $$ p = 0.01 $$ ,请求总数是 $$ n = 100 $$.
能快速(10ms)返回的概率有多少?如何优化?
继续阅读 »
前些日子在优化公司应用的 RV 列表时,使用 TraceView 工具分析哪些因素在影响 RV 滑动的流畅度;
在分析 TraceView 记录时,我发现了下面的问题:
继续阅读 »
昨晚看了一篇关于图片优化的文章 里面提到了一个熟悉的东西 Pixel-fitting
http://sixrevisions.com/web-development/advanced-image-optimization/
继续阅读 »
Python的递归调用栈的深度有限制, 可以通过sys.getrecursionlimit()查看。
尾递归在很多语言中都可以被编译器优化, 基本都是直接复用旧的执行栈, 不用再创建新的栈帧, 原理上其实也很简单, 因为尾递归在本质上看的话递归调用是整个子过程调用的最后执行语句, 所以之前的栈帧的内容已经不再需要, 完全可以被复用。
需要注意的是, 一定记住尾递归的特点是: 递归调用是整个子过程调用的最后一步, 否则就不是真正的尾递归了, 如下就不是真正的尾递归, 虽然递归调用出现在尾部:
def fib(n):
if n == 0:
return 0
elif n == 1:
继续阅读 »