-
Class Layout
Copyright © 2020 by Stephen C. Dewhurst and Daniel Saks
1
Class Layout
Steve Dewhurst
Semantics Consulting, Inc.
www.stevedewhurst.com
1
Copyright © 2020 by Stephen C. Dewhurst and Daniel Daniel Saks
C++ Classes
Only non-static data declarations in a class definition add anything to the size of class
objects.
class HR {
public:
~~~
void terminator(Salary *, Hourly *, Temp *);
private: Stephen C. Dewhurst and Daniel Saks
1
7Class Layout
Copyright © 2020 by Stephen C. Dewhurst and Daniel Saks
2
sizeof(Class Object)
sizeof applied to the HR class yields the same result as sizeof applied
0 码力 |
51 页 |
461.37 KB
| 6 月前 3
-
performance, we
typically think about the function logic.
We’ll see that a well designed function
API can have an even larger impact.How will we compare performance?
●
Benchmarks at this low level are 60
ret 0
I
N
T
50Itanium C++ ABI
3.1.3.1 Non-trivial Return Values
If the return type is a class type that is non-trivial for the purposes of calls, the
caller passes an address as an implicit parameter problem
51The problem
Itanium C++ ABI
3.1.3.1 Non-trivial Return Values
If the return type is a class type that is non-trivial for the purposes of calls, the
caller passes an address as an implicit parameter
0 码力 |
158 页 |
2.46 MB
| 6 月前 3
-
Apache APISIX: How to implement
plugin orchestration in API Gateway
wenming@apache.org
Apache APISIX VP
Ming Wen 温铭
• Co-founder @ api7.ai
• VP and PMC member, Apache APISIX
• committer, Apache Apache APISIX
• Custom plugin development in API Gateway
• Generate APISIX plugins automatically
• The future of API Gateway
Apache APISIX
• Cloud Native API Gateway (https://github.com/apache/apisix) Zero-Trust gateway
Technology Architecture
Custom plugin development
in API Gateway
Difficulties of gateway implementation
• API Gateway is not an out-of-the-box infra project, which is different
from
0 码力 |
28 页 |
1.19 MB
| 6 月前 3
-
the important data structures and concepts?
Prior work in the GraphBLAS community, C API
Overview of our draft C++ API
How might this interoperate with standard C++, graph library proposal?
4[DISTRIBUTION the important data structures and concepts?
Prior work in the GraphBLAS community, C API
Overview of our draft C++ API
How might this interoperate with standard C++, graph library proposal?
5[DISTRIBUTION the important data structures and concepts?
Prior work in the GraphBLAS community, C API
Overview of our draft C++ API
How might this interoperate with standard C++, graph library proposal?
6[DISTRIBUTION
0 码力 |
172 页 |
7.40 MB
| 6 月前 3
-
蚂蚁金服 API Gateway Mesh
思考与实践
靳文祥(花名:贾岛)
蚂蚁金服 高级技术专家1/21
/01
/02
/03
API Gateway Mesh 的定义
蚂蚁金服 API Gateway Mesh 实践
云原生 API Gateway 的思考2/21
API Gateway Mesh 的定义
/013/21
LB\Ingress
API
Gateway
POD
Sidecar
App
POD
Traffic
Control Plane
K8S Cluster
API Gateway in Service Mesh4/21
API Gateway
Service Mesh
vs
南北流量(内外)
API Gateway vs Service Mesh
A infrastructure to decouple the application Service Mesh is Patterns
SofaRPC
API Gateway
MQ Client
Service Code6/21
LB\Ingress
API Gateway
Sidecar
App
POD
Sidecar
App
POD
Traffic
Control Plane
Cluster
API Gateway Mesh
An infrastructure
0 码力 |
22 页 |
1.72 MB
| 6 月前 3
-
APACHE APISIX的全流量API网关
温铭, 来自一家在远程工作方式下商业化开源项目的创业公司(支流科技), 担任CEO&联合创始人, Apache
顶级项目APISIX的PMC主席, Skywalking开源项目的贡献者(commiter)。在创业之前, 在360做企业安全,
360开源委员会的发起人, 腾讯的TVP, TARS基金会的TOC成员, 在安全领域有四十多个专利, 最近三年全 加速了技术落地。新的时代中每个公司的技术都是非常重要的组成部分, 在一个商业竞争激烈的
时代, 公司愈早的占据技术顶峰愈是能够占据商业顶峰。网关作为云原生入口, 是掌握云原生的一个必经
之地, 是开启"财富"的密钥。
微服务和 API 网关的演进
从2014-2015年, 谷歌搜索引擎上"微服务"关键字的搜索趋势直线上
升
在单体架构上, 任一请求都会负载到整个的单体服务集群上
在微服务架构上, 对应请求会负载到对应的微服务子服务集群上 间隔离、降低故障率
但是同样的带来的一些问题: 接口之间通用的功能重复开发、膨胀的
服务数量、难以管理
使用API网关模式
使用API网关进行API聚合
使用API网关实现灰度发布
使用API网关实现服务熔断
与传统API网关的功能
• 让 API 请求更安全、更高效的得到处理
• 覆盖 Nginx 的所有功能:反向代理、负载均衡
• 动态上游、动态 SSL 证书、动态限流限速
0 码力 |
11 页 |
6.56 MB
| 6 月前 3
-
>=1.8,<2 • numpy >=1.8,<2|1.9 • numpy 1.8.1 py27_0 • numpy=1.8.1=py27_0 Version ordering The class VersionOrder(object) implements an order relation between version strings. Version strings can contain entry-points."conda"] my-conda-plugin = "my_plugin" Conda plugins use cases The new conda plugin API ecosystem brings about many possibilities, including but not limited to: • Custom subcommands • Support arbitrary environment variables that may be necessary for their operation. You can also use the config API to set environment variables. When installing Anaconda, you have the option to “Add Anaconda to my
0 码力 |
795 页 |
4.91 MB
| 8 月前 3
-
>=1.8,<2 • numpy >=1.8,<2|1.9 • numpy 1.8.1 py27_0 • numpy=1.8.1=py27_0 Version ordering The class VersionOrder(object) implements an order relation between version strings. Version strings can contain entry-points."conda"] my-conda-plugin = "my_plugin" Conda plugins use cases The new conda plugin API ecosystem brings about many possibilities, including but not limited to: • Custom subcommands • Support arbitrary environment variables that may be necessary for their operation. You can also use the config API to set environment variables. Activation prepends to PATH. This only takes effect when you have the
0 码力 |
753 页 |
4.86 MB
| 8 月前 3
-
look at Integrating applications.
{% render_block "js" %}