小编Mat*_*lis的帖子

什么是"<循环1>"在Xdebug中的指示?

我在php脚本上有一个xdebug配置文件,我用kcachegrind解析.这是一个屏幕截图,显示在任何给定函数中花费的最多时间都花在内部<cycle 1>,而顶部' 调用者'是由index.php中的'include'和'include_once'构成的.

显示周期1的xdebug配置文件的kcachegrind

此配置文件在使用apache'ab'进行压力测试期间运行,因此发生了许多并发连接.

<cycle 1>在xdebug配置文件上显示什么?

profiling xdebug kcachegrind

48
推荐指数
2
解决办法
8783
查看次数

在转换到C++ 11期间管理外部库(例如boost)

我想将我当前的项目移动到C++ 11.代码全部使用clang ++ -std = c ++ 0x编译.这是容易的部分:-).困难的部分是处理外部图书馆.人们不能依赖于将一个C++ 11对象与未使用c ++ 11编译的外部库相链接(请参阅http://gcc.gnu.org/wiki/Cxx11AbiCompatibility).例如,Boost肯定需要重新构建(为什么不能用c ++ 0x模式中的libc ++来链接这个boost :: program_options示例?).我有我使用的所有外部库的源代码,所以我可以(有些痛苦)从理论上用C++ 11重新构建这些库.但是,这仍然存在一些问题:

在混合C++ 03/C++ 11环境中开发:我有一些使用C++ 03的旧项目,需要偶尔进行维护.当然,我想将这些与现有版本的外部库链接起来.但是对于我当前(和新)的项目,我想链接到我重新构建的C++ 11版本的库.如何组织我的开发环境(目前是Ubuntu 12.04和Mac OS X 10.7)来应对这种情况?

我假设很多开发人员都会遇到这个问题.它不会消失,但我没有找到推荐的,普遍认可的解决方案.

部署:目前,我部署到云中的Ubuntu 12.04 LTS服务器.经验导致一个人(在可能的情况下)依赖于linux发行版提供的标准包(例如libboost).如果我将当前项目移动到c ++ 11,我的理解是我将不得不构建自己的外部库版本.我的猜测是,在某些时候这将改变,并且它们将是具有C++ 11兼容性的库标准的"标准"版本.当有人预料到会发生这种情况时,有谁有任何想法?并且可能这也需要上述问题的标准解决方案 - 在同一平台上同时存在C++ 03库和C++ 11库.

我希望我错过了一些基本的东西,以便这些感知的问题在适当的信息中消失!我是否想过早地转向C++ 11?

更新(2013-09-11):macports的相关讨论:https://lists.macosforge.org/pipermail/macports-users/2013-September/033383.html

c++ boost c++11

18
推荐指数
1
解决办法
682
查看次数

使用 webpack 删除 typescript 生产版本中的断言

情况

我正在使用 TypeScript 3.9 和 webpack 4.46。

断言 2.0.0 是这样导入的:

import { strict as assert } from 'assert';
Run Code Online (Sandbox Code Playgroud)

我只使用该assert功能,例如:

assert(i < j);
Run Code Online (Sandbox Code Playgroud)

要求

我想删除生产版本中的断言。进一步来说:

  • 我希望完全删除这些调用assert,而不是以某种方式禁用断言函数。这是因为我希望能够在任何地方添加断言,但知道它们不会影响最终构建的性能。
  • 我希望删除所有断言函数定义,以减少最终代码的大小。

我认为这是主流要求,而且应该很容易。但我找不到解决办法。

到目前为止我所看到的

webpack-unassert-loader

我尝试了webpack-unassert-loader,但记录的用法不起作用:

{
    module: {
        loaders: [
            { test: /\.js$/, loader: "webpack-unassert-loader" }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

Webpack 似乎不喜欢loaders. 我猜使用文档是针对早期的 webpack 的?

我尝试猜测一种不同的配置方式(请参阅下面的 webpack.config.js),但这不起作用(构建的代码中仍然包含断言)。也许我的猜测是错误的(我不是 webpack 专家)。

打字稿插件取消断言

我查看了typescript-plugin-unassert,但有两件事让我感到不安:

  • 每周只有 7 次下载
  • 文档不清楚。例如:

该插件消除了官方页面上介绍的所有断言和断言IsDefined调用。

那么所有其他断言函数呢?哪个“官方页面”?

也许它工作得很好,并且正是我正在寻找的,但我并没有受到鼓励。

断言加

我查看了assert-plus,但/sf/answers/4258321791/中的一条评论让我感到沮丧:

当您通过环境变量停用断言时,该函数不会被删除,而只是函数的内容返回 void。 …

assert typescript webpack

7
推荐指数
0
解决办法
636
查看次数

hg命令在hg fetch之前查看变更集

你可以用什么mercurial命令在变更集xyz之前查看变更集?

如果您这样做,hg log -r :xyz您会看到xyz之前(包括)xyz之前的所有变更集 - 按升序排列.但是我想很容易地看到之前的变更集.


更新:我真正想要的是:如果我这样做hg fetch,我可以使用什么命令来查看fetch中引入的更改集之前的变更集?

hg log -r :xyz 其中xyz是fetch工作所引入的第一个变更集,但它返回了我最想要的最新变更集的整个列表.

mercurial

4
推荐指数
1
解决办法
1431
查看次数

标签 统计

assert ×1

boost ×1

c++ ×1

c++11 ×1

kcachegrind ×1

mercurial ×1

profiling ×1

typescript ×1

webpack ×1

xdebug ×1