问题标签 [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.
shell - 使用 nailgun 加快 clojure 启动时间
clojure
时不时地我认为使用shell 脚本会很好,但是大约 900 毫秒的启动时间太慢了。然后我会在谷歌起始页上搜索“nailgun clojure”,但唯一显示的结果是针对 vimclojure 等特殊情况。就在那时,我假装没有时间,转向更多awk
启动速度更快的病房语言。
那么,怎么可以nailgun
用来加快clojure的启动时间呢?
java - 通过 nailgun 运行 java 程序
有人可以解释一下如何使用 Nailgun 启动一个名为 main.java 的程序。这对我来说是一场彻头彻尾的噩梦,我在网上找不到任何可以清楚解释它的教程。
我需要在我的程序中包含任何额外的东西来运行它们吗?
我正在尝试遵循 Nailgun 网站上给出的说明:
但我得到的输出是:
此外,当我尝试运行我编译的 java 程序时,输出是:
java - 如何使用 nailgun 运行 leiningen 生成的类?
我在 Clojure 中编写了一个程序,并使用 leiningen 将其编译成something.jar、something-standalone.jar和一个包含所有类的文件夹,例如core.class、core$_main.class和所有其他好东西。
.jar 文件运行良好,但我需要减少 jvm 启动开销。
我如何用钉枪运行它?
jruby - /dev/tty 在 nailgun-server 终端中打开
给定一个打开的示例脚本/dev/tty
:
我可以用普通的 jruby 运行它就好了:
但是,如果我尝试使用/dev/tty
nailgun,则 tty 绑定到 nailgun 服务器,而不是客户端:
(垂直间距是为了显示时序,每个的实际输出缺少空行)
这是预期的行为,还是错误?
如果这是预期的行为,有没有办法可以检测脚本是否正在运行,--ng
这样我就可以避免打开/dev/tty
?
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 上。自然而然地,我计划在适当的时候查看发生错误的服务器源代码。
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 来源以获取灵感。吞咽。
openstack - Mirantis Fuel:什么是钉枪服务器?
对不起我的幼稚问题:(。但我无法弄清楚 NailGun 服务器是什么以及它在 Mirantis Fuel 中的用途是什么?当我搜索互联网时,我遇到了 2 个 nailgun 服务器,
但我也不清楚 Satellite 6 API 是什么意思!有人可以帮助我了解 Nailgun 是什么吗?以及它是如何在 Mirantis Fuel 中使用的?
提前致谢!
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 闭包编译器,但我不知道怎么能我将它与我当前的设置集成,任何指针将不胜感激:)
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 不是我的强项。
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 命令运行正确: