小编Ore*_*n S的帖子

正则表达式性能:Boost vs. Perl

我正在寻找perl和boost正则表达式之间的性能比较.
我需要设计一段非常依赖正则表达式的代码,并且可以选择:

  1. 通过boost regex运行它
  2. 派遣perl解释器并在perl中完成工作

我知道perl以其优化的字符串处理而闻名.但是,我找不到性能比较来提升正则表达式库.
你知道任何这样的比较吗?
谢谢

c++ regex perl performance

13
推荐指数
3
解决办法
8087
查看次数

我可以使用python with statement进行条件执行吗?

我正在尝试编写支持以下语义的代码:

with scope('action_name') as s:
  do_something()
  ...
do_some_other_stuff()
Run Code Online (Sandbox Code Playgroud)

范围以及(设置,清理)应该决定是否应该运行此部分.
例如,如果用户将程序配置为绕过'action_name',则在评估Scope()之后,将执行do_some_other_stuff()而不首先调用do_something().
我尝试使用此上下文管理器执行此操作:

@contextmanager
def scope(action):
  if action != 'bypass':
    yield
Run Code Online (Sandbox Code Playgroud)

但有RuntimeError: generator didn't yield例外(时action'bypass').
我正在寻找一种方法来支持这一点,而不会回到更详细的可选实现:

with scope('action_name') as s:
  if s.should_run():
    do_something()
    ...
do_some_other_stuff()
Run Code Online (Sandbox Code Playgroud)

有谁知道我怎么能做到这一点?
谢谢!

PS我正在使用python2.7

编辑:
解决方案不一定要依赖with语句.没有它,我只是不知道如何表达它.从本质上讲,我想要一种上下文形式的东西(支持设置和自动清理,与所包含的逻辑无关),并允许基于传递给设置方法并在配置中选择的参数进行条件执行.
我还考虑过使用装饰器的可能解决方案.例:

@scope('action_name') # if 'action_name' in allowed actions, do:
                      #   setup()
                      #   do_action_name()
                      #   cleanup()
                      # otherwise return
def do_action_name()
  do_something()
Run Code Online (Sandbox Code Playgroud)

但我不想基于这些范围强制执行太多的内​​部结构(即,代码如何划分为函数).
有人有一些创意吗?

python with-statement

12
推荐指数
1
解决办法
3570
查看次数

Linux中的选择性核心转储 - 如何选择转储的部分?

我正在寻找一种方法来选择核心转储中包含的部分和内存区域.
我的应用程序的核心转储大小约为30GB,大部分都在预先分配的缓冲区中,我甚至不需要在调试中(以后可以归零).但是,由于转储太大,应用程序完成崩溃并开始恢复需要花费太多时间.
任何人都可以想到一种方法来提前选择哪些细分市场将在核心转储中?
谢谢

linux memory coredump

11
推荐指数
1
解决办法
7759
查看次数

如何以编程方式查找为Linux中的特定网络设备配置的IP地址/网络掩码/网关?

我想编写一段代码,为每个网络设备(例如eth0,lo,主设备)检查有关该设备的一些统计信息和配置数据.
我可以在/ sys/class/net/...中找到统计数据(和大多数配置数据),但是,我找不到任何C/C++ API或者列出inet addr的procfs/sysfs中的任何条目,网络掩码和网关.

我查了一些替代品:

  • 解析ifconfig/route /其他一些实用程序的输出:我不希望每次需要进行检查时都启动子进程.
  • 解析/ etc/sysconfig/network-scripts /:只给我启动配置,而不是当前状态.

此外,由于此代码适用于我的工作场所中的产品,其中每个外部库都经过彻底检查(这意味着我将永远需要添加任何外部库),我更喜欢依赖Linux本机API而非外部库的解决方案.

谢谢!

c c++ linux networking

8
推荐指数
2
解决办法
2万
查看次数

标签 统计

c++ ×2

linux ×2

c ×1

coredump ×1

memory ×1

networking ×1

performance ×1

perl ×1

python ×1

regex ×1

with-statement ×1