什么是Check
Check是C语言的一个单元测试框架。它提供一个小巧的单元测试接口。测试案例运行在各自独立的地址空间,所以断言失败和代码错误造成的段错误或者其他的信号可以被捕捉到。另外,测试的结果显示也兼容以下这些格式:Subunit、TAP、XML和通用的日志格式。
Check is a unit testing framework for C. It features a simple interface for defining unit tests, putting little in the way of the developer. Tests are run in a separate address space继续阅读 »
Java日志框架
作为一个Java程序员,肯定离不开日志框架,现在最优秀的Java日志框架是Log4j2,没有之一。根据官方的测试表明,在多线程环境下,Log4j2的异步日志表现更加优秀。在异步日志中,Log4j2使用独立的线程去执行I/O操作,可以极大地提升应用程序的性能。
在官方的测试中,下图比较了Sync、Async Appenders和Loggers all async三者的性能。其中Loggers all async表现最为出色,而且线程数越多,Loggers all async性能越好。
除了对Log4j2自身的不同模式做对比以外,官方还做了Log4j2/Log4j1/Logback的对比,如下图所示
其继续阅读 »
忽略所有 Web性能基准测试,包括这个
几个月前,有一篇名为 Async Python is Not Faster 的文章在社交媒体上广为流传。在这篇文章中,作者 Cal Paterson 指出,与普遍的看法相反,异步 web 框架不仅“不比传统的同步框架快” ,而且还更慢。他通过展示他实施的相当完整的基准测试的结果来支持这一点。
我希望一切都像作者在他的博客文章中所说的那样简单,但是事实是,衡量Web应用程序的性能异常复杂,并且他在实施基准和对结果的解释上都犯了一些错误。
在本文中,你可以看到我在理解和修复此基准,重新运行该基准以及最终得出令人震惊的发现所做的努力。继续阅读 »