小编Mar*_*ski的帖子

如何使用graphviz为紧凑图形布局设置"弹簧"力

我用graphviz生成图表,我遇到了一个问题 - 有几个非常大的节点 - 以及大量的小节点.我尝试使用neatofdp生成png,但两者都生成非常大的图形,这些图形大多是空白的(节点相距很远).有没有办法为这些工具设置更大的弹簧"强度",以迫使节点靠近在一起?

graphviz neato

10
推荐指数
1
解决办法
7743
查看次数

统一DVCS命令

在处理多个(开源)项目时,多个版本控制系统开始出现问题.虽然他们分享常见的操作,但我经常通过键入hg add而不是git add来犯错误.

我记得前一段时间看到项目通过在shell中提供基本命令commit/ci add等,以统一的方式访问不同的源代码控制软件.根据存储库,它将依次调用hg addgit add等.

我见过Amp:http://amp.carboni.ca/(似乎是在ATM上)其他任何类似的脚本?

git mercurial dvcs

3
推荐指数
1
解决办法
164
查看次数

gcc检查文件是否为main(#if __BASE_FILE__ == __FILE__)

在ruby中,有一个非常常见的习惯用法来检查当前文件是否为"main"文件:

  if __FILE__ == $0
    # do something here (usually run unit tests)
  end
Run Code Online (Sandbox Code Playgroud)

我想在阅读gcc文档之后在C中做类似的事情我认为它应该像这样工作:

  #if __FILE__ == __BASE_FILE__
    // Do stuff
  #endif
Run Code Online (Sandbox Code Playgroud)

唯一的问题是在我尝试这个之后:

$ gcc src/bitmap_index.c -std=c99 -lm && ./a.out 
src/bitmap_index.c:173:1: error: token ""src/bitmap_index.c"" is not valid in preprocessor expressions
Run Code Online (Sandbox Code Playgroud)

我使用#if错了吗?

作为未来客人的总结:

  • 您无法使用#if比较字符串
  • BASE_FILE是正在编译的文件的名称(实际上就是我想要的).
  • 最好的方法是在编译期间使用-D设置标志

c macros gcc

2
推荐指数
1
解决办法
2580
查看次数

低限制LIMIT /高OFFSET的成本非常高

我的产品桌很大.我需要以非常高的偏移量选择几种产品(例如下面的例子).关于索引和性能的Postgresql手册建议在ORDER BY +最终条件使用的列上创建索引.一切都是桃子,没有使用.但对于高偏移值,LIMIT非常昂贵.任何人都知道这可能是什么原因?

以下查询可以运行几分钟.

Indexes:
"product_slugs_pkey" PRIMARY KEY, btree (id)
"index_for_listing_by_default_active" btree (priority DESC, name, active)
"index_for_listing_by_name_active" btree (name, active)
"index_for_listing_by_price_active" btree (master_price, active)
"product_slugs_product_id" btree (product_id)

EXPLAIN SELECT * FROM "product_slugs" WHERE ("product_slugs"."active" = 1) ORDER BY product_slugs.name ASC LIMIT 10 OFFSET 14859;
                                                       QUERY PLAN                                                        
-------------------------------------------------------------------------------------------------------------------------
 Limit  (cost=26571.55..26589.43 rows=10 width=1433)
   ->  Index Scan using index_for_listing_by_name_active on product_slugs  (cost=0.00..290770.61 rows=162601 width=1433)
         Index Cond: (active = 1)
(3 rows)
Run Code Online (Sandbox Code Playgroud)

sql postgresql performance explain

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

标签 统计

c ×1

dvcs ×1

explain ×1

gcc ×1

git ×1

graphviz ×1

macros ×1

mercurial ×1

neato ×1

performance ×1

postgresql ×1

sql ×1