问题标签 [nailgun]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2284 浏览

shell - 使用 nailgun 加快 clojure 启动时间

clojure时不时地我认为使用shell 脚本会很好,但是大约 900 毫秒的启动时间太慢了。然后我会在谷歌起始页上搜索“nailgun clojure”,但唯一显示的结果是针对 vimclojure 等特殊情况。就在那时,我假装没有时间,转向更多awk启动速度更快的病房语言。

那么,怎么可以nailgun用来加快clojure的启动时间呢?

0 投票
1 回答
1115 浏览

java - 通过 nailgun 运行 java 程序

有人可以解释一下如何使用 Nailgun 启动一个名为 main.java 的程序。这对我来说是一场彻头彻尾的噩梦,我在网上找不到任何可以清楚解释它的教程。

我需要在我的程序中包含任何额外的东西来运行它们吗?

我正在尝试遵循 Nailgun 网站上给出的说明:

但我得到的输出是:

此外,当我尝试运行我编译的 java 程序时,输出是:

0 投票
0 回答
53 浏览

java - 如何使用 nailgun 运行 leiningen 生成的类?

我在 Clojure 中编写了一个程序,并使用 leiningen 将其编译成something.jarsomething-standalone.jar和一个包含所有类的文件夹,例如core.classcore$_main.class和所有其他好东西。

.jar 文件运行良好,但我需要减少 jvm 启动开销。

我如何用钉枪运行它?

0 投票
1 回答
96 浏览

jruby - /dev/tty 在 nailgun-server 终端中打开

给定一个打开的示例脚本/dev/tty

我可以用普通的 jruby 运行它就好了:

但是,如果我尝试使用/dev/ttynailgun,则 tty 绑定到 nailgun 服务器,而不是客户端:

(垂直间距是为了显示时序,每个的实际输出缺少空行)

这是预期的行为,还是错误?

如果这是预期的行为,有没有办法可以检测脚本是否正在运行,--ng这样我就可以避免打开/dev/tty

0 投票
2 回答
397 浏览

java - 在 Eclipse 中为 Java 和 Jython 使用 Nailgun

我刚刚设置了 Nailgun ( https://github.com/martylamb/nailgun , http://martiansoftware.com/nailgun/ ),这是一个聪明的工具包,它使 JVM 在内存中徘徊,制作 Java 和 Jython (可能)更快地启动。

这对于 Java 来说非常棒,但对于我来说,它对于 Jython 来说绝对是金粉,尤其是在开发期间(Jython 是世界上最好的语言,但启动时间很慢)。

谷歌搜索是否有人解决了在 Eclipse 上运行 Nailgun 的问题,我发现了一条红鲱鱼,它是 GitHub 上的“nailgun/eclipse-gtkrc”:“nailgun”只是这个家伙的句柄。我还发现一个 CS 部门实际上已经解决了这个问题,在http://www.cs.dartmouth.edu/~jygsaw/getting_started.html。他们似乎实际上已经设法让这个为 Jython 工作,这可能很棒,但不幸的是,他们的系统依赖于使用 BASH 脚本(Mac OS),而我目前被迫在 Windows(W7)上工作。

我当时做的是

1)在Eclipse之外启动Nailgun服务器,包括CLASSPATH中的jython.jar,

2) 然后我创建了一个包含一行的 client.bat 文件:

3)然后我在Eclipse中设置了一个名为“ng_client”的“外部工具配置”,按照上面的CS部门的说明,除了我将位置设置为上面的client.bat文件,我做了参数:"${selected_resource_loc}"(<- - 包括引号,因为不幸的是,目前我在这条路径中有空格)

4)我曾经运行过这个“ng_client”,所以它失败了,但后来被包含在这个外部工具工具列表中。

5) 然后我选择了一个简单的 Jython py 文件 (trivial.py) 并运行 --> 外部工具 --> ng_client。

控制台显示以下结果

C:\Program Files (x86)\eclipse-jee-luna-SR2-win32\eclipse>ng org.python.util.jython "G:\My Documents\software projects\trivial.py"

接收:没有错误

注意“recv:没有错误”是红色的。我赶紧补充说,这个程序没有运行。

顺便说一句,对于任何感兴趣的人,这导致 Nailgun 服务器终端发出以下错误消息:

我似乎很接近......是否有任何 Eclipse 专家知道我应该如何进行?

PS 我还尝试在 Eclipse 之外运行一个简单的 Jython 程序。到目前为止,它总是像上面那样使 Nailgun 服务器跳闸。有一些证据表明人们成功地做到了这一点,但他们似乎总是在 Linux 机器上,而不是在 Windows 上。自然而然地,我计划在适当的时候查看发生错误的服务器源代码。

0 投票
0 回答
93 浏览

java - 从 Nailgun 缓存中清除一些东西(用法:Jython)

这有点技术性,请参阅 Using Nailgun in Eclipse for Java and Jython

我发现了如何使用 Jython 让 Nailgun 在 Eclipse 中的 Windows 操作系统上正常工作。并使用 unittest 模块。

令人费解的是,有时我对 .py 文件进行了更改,有时(并非总是)该文件的旧版本继续运行。当我关闭 Nailgun 服务器、关闭其窗口并重新启动它时,这种情况甚至会持续存在:正在运行文件的旧版本,该文件不再存在。

这感觉很像缓存问题。我的理解是 Jython 通常不会生成 .class 文件(尽管有时导入模块时会生成??)。

但也许这确实是 Nailgun 正在做的事情。我在我的 C: 驱动器上做了一些搜索,看看这个缓存位置是否容易找到:不走运。

本质上,我需要能够在应用程序运行之间告诉 Nailgun 从它维护的任何缓存安排中删除给定的 .class 文件。

顺便说一句,所讨论的 CLASSPATH 元素是在服务器的“SET CLASSPATH=...”中规定还是在 ng 命令行(即在客户端)中使用“ng-cp”选项都没有关系。

如果所有其他方法都失败了,我可能不得不查看 NG 来源以获取灵感。吞咽。

0 投票
1 回答
281 浏览

openstack - Mirantis Fuel:什么是钉枪服务器?

对不起我的幼稚问题:(。但我无法弄清楚 NailGun 服务器是什么以及它在 Mirantis Fuel 中的用途是什么?当我搜索互联网时,我遇到了 2 个 nailgun 服务器,

但我也不清楚 Satellite 6 API 是什么意思!有人可以帮助我了解 Nailgun 是什么吗?以及它是如何在 Mirantis Fuel 中使用的?

提前致谢!

0 投票
1 回答
189 浏览

javascript - 使用 gulp 减少谷歌关闭运行时间

我正在尝试在开发时找到 plovr 的替代方案,因为 plovr 有点落后,每次升级谷歌关闭都变得很麻烦。

所以我考虑使用 gulp。我使用 gulp connect 设置了一个 gulp 网络服务器,在回退时,它会触发 google 闭包编译,然后等待文件生成,然后将其提供给客户端。我面临的问题是编译时间比 plovr ~40s vs ~20s 要大得多。对于前端开发人员来说,在进行小的更改后等待页面加载需要很长时间。知道可以做些什么来优化闭包编译器的编译时间。这是我的 gulpfile.js,让您了解我的设置。

经过一番研究,我猜问题是 jvm 的启动时间很慢,我发现这个https://www.npmjs.com/package/closure-gun使用 nailgun 来运行 google 闭包编译器,但我不知道怎么能我将它与我当前的设置集成,任何指针将不胜感激:)

0 投票
1 回答
79 浏览

java - 在 Nailgun 或 Drip 中运行 EPubCheck

IDPF/W3 的 epubcheck.jar 工具正在扩展以涵盖 ePub 中的新可能性。因此,检查所有内容所需的库数量正在增加。这增加了完成单个 ePub 文件检查的运行时间。epubcheck v3 每个 epub 大约需要 3 秒,而 epubcheck v4 最多需要 6.5 秒。有大约两倍的底层库要加载。

因此,我一直在寻找保持 epubcheck 版本运行的方法,这样 JVM 就不必为每个文件启动和重新加载每个库。(我们有时必须一次检查数百个 epub。)

减少库加载开销和 JVM 启动时间的可能解决方案是 Drip 或 Nailgun,但为了加载库并在命令上调用 epubcheck,jar 文件都必须加载到类路径中。然后,com.adobe.epubcheck.tool.Checker必须显式调用该类。

同时使用 Drip 和 Nailgun,我得到相同的 SAXParseException 错误:

org.xml.sax.SAXParseException;systemId: jar:file:/app-lib/epubcheck-4.0.2/epubcheck.jar!/com/adobe/epubcheck/schema/20/rng/container.rng; 行号:4;列号:71;架构的根元素必须有命名空间

这是一个验证在命令行上加载 JAR 文件的文件:

我不知道问题可能是什么,特别是因为 Java 不是我的强项。

0 投票
1 回答
1153 浏览

java - 如何使用客户端/服务器 Nailgun(在 Debian Stretch 上)运行一个简单的 Java 程序?

我正在尝试在Debian GNU/Linux 9 (stretch)上使用Nailgun

“Nailgun 是一个客户端、协议和服务器,用于从命令行运行 Java 程序而不会产生 JVM 启动开销。程序在服务器中运行(用 Java 实现),并由客户端触发(用 C 编写),它处理所有 I/O。”

发现一些文档:

我使用Oracle Java 版本 10.0.2(我也尝试使用 GraalVM 1.0.0-rc9 Java 1.8.0_192)。

一个简单的 Java 测试程序: TestVarargs.java。(最后我想运行一个 JAR 文件,但我尝试过这个简单的例子,因为这不起作用。)

该程序运行正常。

首先尝试使用Debian nailgun 软件包(版本 0.9.1-3)

安装:

启动服务器:

运行客户端 ( /usr/bin/ng-nailgun):

但以下不起作用:

stop 命令运行正确:

第二次尝试,从GitHub 源构建

使用 Maven 编译服务器:

编译客户端:

启动服务器:

运行客户端:

但以下不起作用:

(既没有输出也没有错误消息。)

(既没有输出也没有错误消息。)

(既没有输出也没有错误消息。)

stop 命令运行正确:

所以,总而言之,我可以安装和启动服务器。但我无法运行任何 Java 程序。