
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
用得越多,遇到的问题也越多,这就是经验的来源。经验是一个好的东西,也是一个不好的东西。它让人可以快速的处理实际问题也可以让人固化于这种思维。至于如何打破这种边界,需要自己不断的学习,与时俱进。

一、性能测试在rust中,只有lib.rs才可能进行extern crate的集成测试,二进制形式的测试是不可以的。原因在于rust的设计初衷就是在main.rs中尽量少完成功能,更多的功能转入到库中。这样,在二进制主程序中就不会有过多的性能来测试。在rust中,针对性能测试也提供了专门的属性#[bench]支持,这样就可以快速的在指定的场景资源情况进行资源测试,这在一门语言中还是比较少见的。二、
以太坊的区块同步以太坊的数据同步是提供区块链基本数据存储的重要环节,正是因为数据在P2P网络的分发,形成了完全分布式的去中心化的支持。以太坊的区块同步分成两种形式:一、主动同步:Downloader调用syncer主动同步启动有三种情况:1、启动时。2、接收到NewBlockMsg :这种情况下经常被fetcher覆盖3、新的Peer连接。4、定时二、被动同步fetcher...
本文介绍了多种C++性能测试和分析工具,包括Intel Vtune、AMD CodeAnalyst、Valgrind的Callgrind、Oprofile和Sysprof。这些工具各有特点,如Intel Vtune和AMD CodeAnalyst针对特定硬件平台提供架构级分析,而Callgrind和Oprofile则分别提供调用图分析和代码层次的性能监测。Sysprof则专注于CPU、内存和I/O

一、并发和并行的处理机制在实际的应用场景中,并行和并发的现象是常见的,因此,在不断的发展过程中,发现其需要解决的问题可以分成三种类型:1、工作任务的分解工作任务指的是具体的任务有什么,可不可以划分成独立的执行任务,可不可以每个独立任务同时运行。比如几个监控页面同时显示问题。2、数据的分解这个就非常常见了,比如要同时从两个表里拿数据,可不可以用两个线程同时进行。3、数据流的分解数据流的分解,其实更类
一、gprof的安装和说明在前面谈过了gperftools的安装,今天来看一下gprof的安装。虽然说gperftools安装比较复杂,但是gprof就好说了,因为只要你的机器上装有GCC,那么自然就带了这个软件。如果没有的话,就按照以下的方法安装一下新的gcc即可。不过一般来说,系统都会自带相对最新的gcc,这个不用太担心。https://blog.csdn.net/fpcc/article/d

一、软件安装说明gperftools的安装有再从种方式,一种是源码方式,一种是直接安装模式。这里源码安装模式,原因是使用直接安装模式比较简单。安装此软件需要先安装libunwind这个软件,所以这里需要通过源码方式安装libunwind,否则会报一个警告:“configure: WARNING: No frame pointers and no libunwind. Using experimen
一、skiplist 跳表跳表这个数据结构是新生的,在学习数据结构的时候儿是没有这个的。当然,也可以理解成是对数据结构的进一步的封装,这样理解的话,可能就会更准确一些。为什么叫跳表?想想生活中跳的动作,一般人走路是一步一步的走,而如果跳跃的话,一下子可以走好几步,但是付出的代价就是要多费些力气。其实跳表也是如此,正常的链表list,访问的时候儿是从头到尾(或者反过来)一条条的遍历,而跳表由于多了一
以太坊源码分析之十Merkle Patricia Tree(MPT) 以太坊中,MPT是一个非常重要的数据结构,在以太坊中,帐户的交易信息、状态以及相应的状态变更,还有相关的交易信息等都使用MPT来进行管理。在前面也提到过,其是整个数据存储的重要一环。如果对比特币比较熟悉的都知道在比特币中为了SPV验证使用了默克尔树,但merkle树又有一定的信息量的不足,针对于此,以太坊将Trie树...
以太坊的一个TOKEN合约的发布 需要搞一个TOKEN的发布合约,先试一下水,从官网上找到了一个例子如下:pragma solidity ^0.4.8;contract Token{ // token总量,默认会为public变量生成一个getter函数接口,名称为totalSupply(). uint256 public totalSupply; ...







