Coder Social home page Coder Social logo

turbo-rpc's People

Contributors

hank-whu avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

turbo-rpc's Issues

关于序列化/反序列化部分zero-copy

建议zero-copy和byte[]两种方式共存, 在大整数较多的情况下writeVarint/readVarint不一定占优势
另外调用unsafe.getXXX/setXXX次数在超过一定阈值后效果可能不如一次memorycopy+byte[]纯数组读写好

jdk版本以及增加test example

建议使用jdk7或8,现在9的普及貌似在大部分公司还没有体现
没有测试用例,大多mian方法测试本类,看起来有些不方便

turbo-jmh benchmark 运行直接运行main方法报错JDWP

JMH version: 1.19

VM version: JDK 9, VM 9+181

VM invoker: /Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home/bin/java

VM options: -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:52004,suspend=y,server=n -javaagent:/Users/Gieey/Library/Caches/IntelliJIdea2018.1/captureAgent/debugger-agent.jar=file:/private/var/folders/xq/m3bcrwm14ls3_w7my2hnd0_80000gn/T/capture.props -Dfile.encoding=UTF-8

Warmup: 5 iterations, 1 s each

Measurement: 5 iterations, 1 s each

Timeout: 10 min per iteration

Threads: 8 threads, will synchronize iterations

Benchmark mode: Throughput, ops/time

Benchmark: rpc.turbo.benchmark.kryo.DefaultBenchmark.directByteBufferPage

Run progress: 0.00% complete, ETA 00:03:20

Fork: 1 of 1

ERROR: transport error 202: connect failed: Connection refused
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:730]
<forked VM failed with exit code 2>



ERROR: transport error 202: connect failed: Connection refused
ERROR: JDWP Transport dt_socket failed to initialize, TRANSPORT_INIT(510)
JDWP exit error AGENT_ERROR_TRANSPORT_INIT(197): No transports initialized [debugInit.c:730]

ConcurrentArrayList 的代码没看懂

ConcurrentArrayList中的add方法没看懂
`public void add(T value) {
final int index = insertIndex();

	for (;;) {// like cas
		final Object[] before = values;
		before[index] = value;
		final Object[] after = values;

		if (before == after) {
			return;
		}
	}
}

`
跟cas的相同点没看出来。

优化策略-0.0.7

  1. 少量参数模式下去除 MethodParam 包装
  2. 优化序列化协议,减少类路径信息的传输
  3. 引入 netty 配置文件

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.