小编Viv*_*idD的帖子

最快的固定长度6 int数组

回答另一个Stack Overflow问题(这个)我偶然发现了一个有趣的子问题.排序6个整数数组的最快方法是什么?

由于问题是非常低的水平:

  • 我们不能假设库可用(并且调用本身有它的成本),只有普通的C.
  • 避免排空指令流水线(具有非常高的成本),我们也许应该尽量减少分支机构,跳跃,和所有其他类型的控制流断裂的(像那些隐藏在背后的序列点&&||).
  • 房间受限制,最小化寄存器和内存使用是一个问题,理想情况下,排序可能是最好的.

真的这个问题是一种高尔夫,其目标不是最小化源长度而是执行时间.我把它叫做"Zening"代码在本书的标题中的代码优化禅迈克尔·亚伯拉什及其续集.

至于为什么它很有趣,有几个层次:

  • 这个例子很简单,易于理解和衡量,并没有太多的C技能
  • 它显示了为问题选择好算法的效果,以及编译器和底层硬件的效果.

这是我的参考(天真的,未优化的)实现和我的测试集.

#include <stdio.h>

static __inline__ int sort6(int * d){

    char j, i, imin;
    int tmp;
    for (j = 0 ; j < 5 ; j++){
        imin = j;
        for (i = j + 1; i < 6 ; i++){
            if (d[i] < d[imin]){
                imin = i;
            }
        }
        tmp = d[j];
        d[j] = d[imin];
        d[imin] = …
Run Code Online (Sandbox Code Playgroud)

sorting algorithm optimization gpgpu sorting-network

396
推荐指数
11
解决办法
7万
查看次数

排序10个数字的最快方法?(数字是32位)

我正在解决一个问题,它涉及非常快速地排序10个数字(int32).我的应用程序需要尽可能快地对10个数字进行数百万次排序.我正在对数十亿个元素的数据集进行采样,每次我需要从中挑选10个数字(简化)并对它们进行排序(并从排序的10个元素列表中得出结论).

目前我正在使用插入排序,但我想我可以实现一个非常快速的自定义排序算法,针对10个数字的特定问题,这将超过插入排序.

有没有人知道如何处理这个问题?

sorting algorithm insertion-sort sorting-network

209
推荐指数
7
解决办法
3万
查看次数

克隆和原始远程存储库之间的git diff

我克隆了一个github存储库,并没有在本地进行任何更改.Github存储库在同一分支上提交了提交.

  1. 如何在本地存储库和原始github存储库之间找到差异?
  2. 如何在我的工作副本和原始github存储库之间找到差异?
  3. 如何在本地存储库和同一项目的另一个github存储库之间找到差异?

git version-control github

166
推荐指数
3
解决办法
15万
查看次数

编译Nachos源代码时出错"gnu/stubs-32.h:没有这样的文件或目录"

我想在我的笔记本电脑上安装Nachos,笔记本电脑上有Ubuntu 11.04.

代码在C中,所以要构建它我假设我需要交叉编译器.这就是我的问题所在.我使用命令下载了MIPS交叉编译器的源代码

  wget http://mll.csie.ntu.edu.tw/course/os_f08/assignment/mips-decstation.linux-xgcc.gz
Run Code Online (Sandbox Code Playgroud)

我用它解压缩它

tar zxvf mips-decstation.linux-xgcc.gz      
Run Code Online (Sandbox Code Playgroud)

这没关系,但是当我尝试构建nachos操作系统的源代码时,使用make,我得到了这个错误 -

/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or directory compilation terminated. make: *** [bitmap.o] Error 1
Run Code Online (Sandbox Code Playgroud)

我试图按照这里给出的指示 - http://mll.csie.ntu.edu.tw/course/os_f08/217.htm,一切正常,除非我尝试使用make.

ubuntu gcc mips cross-compiling nachos

165
推荐指数
4
解决办法
19万
查看次数

在转换结束时调用回调

我需要使用D3.js制作一个FadeOut方法(类似于jQuery).我需要做的是使用不透明度设置为0 transition().

d3.select("#myid").transition().style("opacity", "0");
Run Code Online (Sandbox Code Playgroud)

问题是我需要一个回调来实现转换完成的时间.我该如何实现回调?

javascript transition d3.js

95
推荐指数
6
解决办法
6万
查看次数

将新节点添加到强制定向布局

关于Stack Overflow的第一个问题,请耐心等待!我是d3.js的新手,但一直对其他人用它能够完成的事情感到惊讶......而且我自己用它做出的一点点进展几乎令人惊讶!很明显,我不是在找东西,所以我希望这里善良的灵魂可以向我展示光明.

我的目的是创建一个可重用的javascript函数,它只执行以下操作:

  • 在指定的DOM元素中创建一个空白的力导向图
  • 允许您向该图表添加和删除带标签的图像承载节点,并指定它们之间的连接

我把http://bl.ocks.org/950642作为起点,因为这基本上是我想要创建的那种布局:

在此输入图像描述

这是我的代码的样子:

<!DOCTYPE html>
<html>
<head>
    <script type="text/javascript" src="jquery.min.js"></script>
    <script type="text/javascript" src="underscore-min.js"></script>
    <script type="text/javascript" src="d3.v2.min.js"></script>
    <style type="text/css">
        .link { stroke: #ccc; }
        .nodetext { pointer-events: none; font: 10px sans-serif; }
        body { width:100%; height:100%; margin:none; padding:none; }
        #graph { width:500px;height:500px; border:3px solid black;border-radius:12px; margin:auto; }
    </style>
</head>
<body>
<div id="graph"></div>
</body>
<script type="text/javascript">

function myGraph(el) {

    // Initialise the graph object
    var graph = this.graph = {
        "nodes":[{"name":"Cause"},{"name":"Effect"}],
        "links":[{"source":0,"target":1}]
    };

    // Add and …
Run Code Online (Sandbox Code Playgroud)

javascript d3.js force-layout

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

如何将工具提示添加到svg图形?

我有一系列的svg矩形(使用D3.js),我想在鼠标悬停时显示一条消息,消息应该被一个充当背景的框包围.它们应该完全彼此对齐并与矩形(顶部和居中)对齐.做这个的最好方式是什么?

我尝试使用"x","y","width"和"height"属性添加svg文本,然后在svg rect之前添加.问题是文本的参考点在中间(因为我希望它居中对齐我使用text-anchor: middle),但对于矩形,它是左上角坐标,加上我想在文本周围留一点边距,这使得它有点像痛苦

另一种选择是使用一个html div,这很好,因为我可以直接添加文本和填充但我不知道如何获得每个矩形的绝对坐标.有没有办法做到这一点?

javascript svg tooltip d3.js

82
推荐指数
5
解决办法
10万
查看次数

有没有办法放大D3力布局图?

D3 在此处具有力导向布局.有没有办法将缩放添加到此图表?目前,我能够捕获鼠标滚轮事件,但我不确定如何编写重绘功能本身.有什么建议?

    var vis = d3.select("#graph")
        .append("svg:svg")
        .call(d3.behavior.zoom().on("zoom", redraw)) // <-- redraw function
        .attr("width", w)
        .attr("height", h);
Run Code Online (Sandbox Code Playgroud)

javascript jquery zoom d3.js force-layout

80
推荐指数
3
解决办法
4万
查看次数

什么是vdso和vsyscall?

我做到了 sudo cat /proc/1/maps -vv

我试图弄清楚输出.我可以看到很多共享库按预期映射到内存映射段.

7f3c00137000-7f3c00179000 r-xp 00000000 08:01 21233923                   /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8
7f3c00179000-7f3c00379000 ---p 00042000 08:01 21233923                   /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8
7f3c00379000-7f3c0037a000 r--p 00042000 08:01 21233923                   /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8
7f3c0037a000-7f3c0037b000 rw-p 00043000 08:01 21233923                   /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8
7f3c0037b000-7f3c00383000 r-xp 00000000 08:01 21237216                   /lib/x86_64-linux-gnu/libnih-dbus.so.1.0.0
7f3c00383000-7f3c00583000 ---p 00008000 08:01 21237216                   /lib/x86_64-linux-gnu/libnih-dbus.so.1.0.0
7f3c00583000-7f3c00584000 r--p 00008000 08:01 21237216                   /lib/x86_64-linux-gnu/libnih-dbus.so.1.0.0
7f3c00584000-7f3c00585000 rw-p 00009000 08:01 21237216                   /lib/x86_64-linux-gnu/libnih-dbus.so.1.0.0
7f3c00585000-7f3c0059b000 r-xp 00000000 08:01 21237220                   /lib/x86_64-linux-gnu/libnih.so.1.0.0
7f3c0059b000-7f3c0079b000 ---p 00016000 08:01 21237220                   /lib/x86_64-linux-gnu/libnih.so.1.0.0
7f3c0079b000-7f3c0079c000 r--p 00016000 08:01 21237220                   /lib/x86_64-linux-gnu/libnih.so.1.0.0
Run Code Online (Sandbox Code Playgroud)

接近尾声有类似的东西

7f3c0165b000-7f3c0177e000 rw-p 00000000 00:00 0                          [heap]
7fff97863000-7fff97884000 …
Run Code Online (Sandbox Code Playgroud)

c linux kernel linux-kernel vdso

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

如何在HTML5 Canvas元素中使用自定义字体?

我看过像Cufon和typeface.js这样的东西,但它们似乎是SIFR替代品,不允许你设置自由形式坐标并将自定义类型绘制到 <canvas>

有人有任何想法吗?

html5 fonts canvas cufon typeface.js

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