h*i 发帖数: 3446 | 1 二十年风水轮流转,我老目前正在GraalVM上面用Java写C代码,恍若二十多年白过了。
哈哈。 |
n******t 发帖数: 4406 | 2 什麼叫做用Java寫C代碼?
在意大利用用英文寫德文?
【在 h*i 的大作中提到】 : 二十年风水轮流转,我老目前正在GraalVM上面用Java写C代码,恍若二十多年白过了。 : 哈哈。
|
h*i 发帖数: 3446 | 3 就是字面意思,写的是Java,但是按C的写法来写,其实就是在写C,没有GC,而是
malloc, calloc, 指针来指针去。哈哈。
https://www.graalvm.org/sdk/javadoc/index.html?org/graalvm/nativeimage/c/
package-summary.html
The latest fashion in the Java world.
【在 n******t 的大作中提到】 : 什麼叫做用Java寫C代碼? : 在意大利用用英文寫德文?
|
g****t 发帖数: 31659 | 4 类型呢?指针越界有无报错?
: 就是字面意思,写的是Java,但是按C的写法来写,其实就是在写C,没有GC,而是
: malloc, calloc, 指针来指针去。哈哈。
: https://www.graalvm.org/sdk/javadoc/index.html?org/graalvm/nativeimage
/c/
: package-summary.html
: The latest fashion in the Java world.
【在 h*i 的大作中提到】 : 就是字面意思,写的是Java,但是按C的写法来写,其实就是在写C,没有GC,而是 : malloc, calloc, 指针来指针去。哈哈。 : https://www.graalvm.org/sdk/javadoc/index.html?org/graalvm/nativeimage/c/ : package-summary.html : The latest fashion in the Java world.
|
n******t 发帖数: 4406 | 5 恩,自己一定要寫C,讓別人用自己用C寫出來的東西或者是語言。
這個scam,30年來從來沒有變過。
實在不行,也要用C的寫法用另外的語言來裝模作樣搞一邊,我只想說,有意思嗎?
【在 h*i 的大作中提到】 : 就是字面意思,写的是Java,但是按C的写法来写,其实就是在写C,没有GC,而是 : malloc, calloc, 指针来指针去。哈哈。 : https://www.graalvm.org/sdk/javadoc/index.html?org/graalvm/nativeimage/c/ : package-summary.html : The latest fashion in the Java world.
|
T********i 发帖数: 2416 | 6 这就是所谓的ffi,foreign function interface。好多语言都有。一般都是做成类似
注释的代码块。 |
h*i 发帖数: 3446 | 7 Just the good old C.
而是
nativeimage
【在 g****t 的大作中提到】 : 类型呢?指针越界有无报错? : : : 就是字面意思,写的是Java,但是按C的写法来写,其实就是在写C,没有GC,而是 : : malloc, calloc, 指针来指针去。哈哈。 : : https://www.graalvm.org/sdk/javadoc/index.html?org/graalvm/nativeimage : /c/ : : package-summary.html : : The latest fashion in the Java world. :
|
p***o 发帖数: 1252 | 8 看了一眼,数组index是int? 那还不如sun.misc.Unsafe呢。
【在 h*i 的大作中提到】 : Just the good old C. : : 而是 : nativeimage
|
h*i 发帖数: 3446 | 9 这不是ffi。Java已经有很多不同种类的interface to C了, 比如JNI, JNA, JNR-FFI等
等.
这个不同,这是用Java来写C,能用来写一个独立的的原生程序,它的设计目的就是
Systems programming in Java。 这些都是Sun传下来的搞了很多年的研究项目,以前
叫做什么Maxine VM, 现在都被oracle搞到外面来收钱了。
https://en.wikipedia.org/wiki/Maxine_Virtual_Machine
GraalVM的native image虚拟机就是用这个玩意来写的。Clojure社区现在对native很着
迷,所以我老也来凑热闹,发现了这个奇葩的玩意,分享一下。
【在 T********i 的大作中提到】 : 这就是所谓的ffi,foreign function interface。好多语言都有。一般都是做成类似 : 注释的代码块。
|
h*i 发帖数: 3446 | 10 什么不如?不安全?这本来就是穿着Java衣服的赤裸裸的C,哪有什么安全性可言。
【在 p***o 的大作中提到】 : 看了一眼,数组index是int? 那还不如sun.misc.Unsafe呢。
|
|
|
T********i 发帖数: 2416 | 11 OMG,生命在于折腾。这帮码农花了20年,把所有的东东用JavaScript重新写了一遍。
然后再用Java把C代码重写一遍?
能不能做个自动翻译的?
谷歌做了个GWT,一直处于半死不活的状态。最近又看到微软搞了个C#写WebAssembly的。 |
h*i 发帖数: 3446 | 12 哈哈。差不多吧。
对个人来说,是为了发文章。我看这些GraalVM工程师们年年都在发OOPSLA, PLDI,
Transactions on Architecture and Code Optimization,什么的,开心得很。
对公司来说,是为了割韭菜,同一个东西变着法子,换着包装,才能收几遍钱啊,只收
一遍哪行?
的。
【在 T********i 的大作中提到】 : OMG,生命在于折腾。这帮码农花了20年,把所有的东东用JavaScript重新写了一遍。 : 然后再用Java把C代码重写一遍? : 能不能做个自动翻译的? : 谷歌做了个GWT,一直处于半死不活的状态。最近又看到微软搞了个C#写WebAssembly的。
|
p***o 发帖数: 1252 | 13 sun.misc.Unsafe是个用来在Java里写C的包,很多库用了很多年。
index用int就跟Java一样数组不能超过2G元素,没法发挥C的全部长处。
这一点sun.misc.Unsafe里没犯同样的错误。
【在 h*i 的大作中提到】 : 什么不如?不安全?这本来就是穿着Java衣服的赤裸裸的C,哪有什么安全性可言。
|
n******t 发帖数: 4406 | 14 最近這批scam是rust首先開頭的,rust的教徒把自己能看見的C代碼,都用rust unsafe
重新裝一次,外加一堆的SIMD intrinsics,就說自己已經是最快的benchmark了。
【在 h*i 的大作中提到】 : 哈哈。差不多吧。 : 对个人来说,是为了发文章。我看这些GraalVM工程师们年年都在发OOPSLA, PLDI, : Transactions on Architecture and Code Optimization,什么的,开心得很。 : 对公司来说,是为了割韭菜,同一个东西变着法子,换着包装,才能收几遍钱啊,只收 : 一遍哪行? : : 的。
|
n******t 发帖数: 4406 | 15 這個到不一定是壞處。這種結構一般至少需要兩個length相關的field,用int64_t要每
個結構多出8個字節,開銷挺大的。
而且他這種是用了Java的想法來用Java包裹的C句法來寫C,肯定是一堆heap object,
開銷還會更大。
【在 p***o 的大作中提到】 : sun.misc.Unsafe是个用来在Java里写C的包,很多库用了很多年。 : index用int就跟Java一样数组不能超过2G元素,没法发挥C的全部长处。 : 这一点sun.misc.Unsafe里没犯同样的错误。
|
h*i 发帖数: 3446 | 16 我的英文blog writeup有更多细节。
http://yyhh.org/blog/2021/02/writing-c-code-in-javaclojure-graalvm-specific
-programming/
【在 h*i 的大作中提到】 : 二十年风水轮流转,我老目前正在GraalVM上面用Java写C代码,恍若二十多年白过了。 : 哈哈。
|
a********c 发帖数: 3657 | 17 no gc no object Java 一直都很流行啊,特别是在金融业,nasdaq,nyse后台都是这
样写的。很多hft(geico, virtu, 2sigma...)也是。
这个东东最早是jon ross 2002搞出来做inet,后来他去nasdaq用这个做出了sequencer
, 接着又去了geico,knight。所到之处全做cto,no gc no object java就开花结果了。
【在 h*i 的大作中提到】 : 二十年风水轮流转,我老目前正在GraalVM上面用Java写C代码,恍若二十多年白过了。 : 哈哈。
|