World: r4wp
[#Red] Red language group
older newer | first last |
Kaj 23-Jun-2013 [8598] | Odd. Is that on a Mac? |
Andreas 23-Jun-2013 [8599] | Linux |
Kaj 23-Jun-2013 [8600] | Which GCC version? |
Andreas 23-Jun-2013 [8601] | Red/System (current master, g0c9c1bf): 2.5s GCC 4.8.1 -O0: 1.9s Clang 3.3 -O0: 1.6s Clang 3.3 -O2: 0.6s GCC 4.8.1 -O2: 0.5s |
Kaj 23-Jun-2013 [8602x3] | So there's a much bigger difference between optimised and unoptimised versions than in previous tests |
I was on an older GCC version then, 4.1.2 or 4.2.3 | |
Xie is on Windows, and his compiler is apparently called cl. XieQ, is that CLang? Which version? | |
Andreas 23-Jun-2013 [8605] | That's MSVC. |
Kaj 23-Jun-2013 [8606] | Perhaps GCC has gotten better at optimisation |
Andreas 23-Jun-2013 [8607x3] | Compared to 6-year old GCC 4.1.2, it certainly has improved a lot. |
Just dug one of your Fibonacci results from back in Feb-2012, that used GCC 4.43. | |
dug up* | |
Kaj 23-Jun-2013 [8610x2] | Oh, don't remember that |
Ah, it must have been GoboLinux's GCC | |
Andreas 23-Jun-2013 [8612] | You mentioned the benchmarks running on Syllable Server. |
Kaj 23-Jun-2013 [8613x3] | Yes, that's why I thought 4.2.3. But I would have tried them on Syllable Workstation on top of Syllable Server |
That's an unreleased GoboLinux-on-Syllable-Server FrankenLinux | |
So it's a pretty big difference in optimisation, and MSVC doesn't show it | |
XieQ 23-Jun-2013 [8616] | I use VS2012 and it's MSVC ver 17. |
Kaj 23-Jun-2013 [8617] | Thanks |
Arnold 23-Jun-2013 [8618] | We are a team! Yoho!! According to Frank Ruben on the Red mailinglist. He has a question about interfacing a C app in Red/System. |
XieQ 24-Jun-2013 [8619] | Now in Red/System, we can't pass a function as parameter to Red/System FUNC, but we can pass it to external C FUNC, right? cmp-func!: alias function! [left [byte-ptr!] rihgt [byte-ptr!] return: [integer!]] quick-sort: func [ base [byte-ptr!] n [integer!] size [integer!] cmp-func [cmp-func!] ][ ; can't use cmp-func in this function ] |
DocKimbel 24-Jun-2013 [8620x3] | XieQ, that should work too. |
You should try passing the function! pointer as integer! then type-cast it inside the function. IIRC, function! cannot be yet used in a Red/System func spec block. | |
(But as you mentioned, function! is accepted for external functions) | |
XieQ 24-Jun-2013 [8623x2] | I write a simple test try to understand it, it's can be compiled, but the output is not expected |
Red/System [] cmp-func!: alias function! [left [byte-ptr!] right [byte-ptr!] return: [integer!]] cmp-int: func [ left [byte-ptr!] right [byte-ptr!] return: [integer!] /local a b ][ a: as int-ptr! left b: as int-ptr! right a/value - b/value ] bar: func [ cmp-func [cmp-func!] ][ a: 1 b: 2 print cmp-func :a :b ] bar :cmp-int | |
Pekr 24-Jun-2013 [8625] | XieQ - that's what Doc stated, no? you use cmp-func! function type in func spec block, which is not allowed (except the external functions, whatever that means). Sorry if misunderstood on my side, just trying to point that out ... |
XieQ 24-Jun-2013 [8626x2] | it's print a memery address ( 00401A8F in my windows 7) |
Pekr, I will try again | |
DocKimbel 24-Jun-2013 [8628] | Yes, because the compiler is not yet able to process `cmp-func [cmp-func!]` correctly. Try to declare an integer! there and then type cast it to a cmp-func! inside the body. |
XieQ 24-Jun-2013 [8629x2] | Got the right result! Thanks Doc |
bar: func [ cmp-func [integer!] /local compare result ][ a: 1 b: 2 compare: as cmp-func! cmp-func result: compare as byte-ptr! :a as byte-ptr! :b print result ] bar as-integer :cmp-int | |
DocKimbel 24-Jun-2013 [8631x3] | I guess I should complete the function! support at some point before starting on Red/System 2.0. |
New try for the Red port on Android demo: http://static.red-lang.org/hello2.apk This time it should work fine on all devices, please let me know if you find any issues. Just be sure to uninstall previous version before installing this one (just to be sure you won't report false positives). | |
Source code for the demo: http://pastebin.com/R5ySC8sw | |
Andreas 24-Jun-2013 [8634] | I'm happy to confirm that this now works on my Nexus 4 :) |
DocKimbel 24-Jun-2013 [8635] | Great! :) |
XieQ 24-Jun-2013 [8636] | Nice! works fine on all my devices (my phone 2.3.7 and my pad 4.1.1) |
DocKimbel 24-Jun-2013 [8637] | Good, so we're almost ready to start infecting the Android world with the Red virus. ;-) |
Endo 24-Jun-2013 [8638] | Works on Samsung S3 Galaxy, Android 2.3.6 |
Maxim 24-Jun-2013 [8639] | doesn't work on my 4S 5.01 ;-) |
DocKimbel 24-Jun-2013 [8640x2] | Actually it does even on your 4S using iAndroid emulator: http://www.youtube.com/watch?v=gehh6zIijXM ;-) |
Endo, thanks for testing it. | |
AdrianS 24-Jun-2013 [8642] | It still won't install on my Galaxy Nexus with 4.2.2. |
DocKimbel 24-Jun-2013 [8643] | AdrianS: do you have a previous version already installed? What is the installation error message? |
AdrianS 24-Jun-2013 [8644] | It's a very nondescript message - "App not installed" |
DocKimbel 24-Jun-2013 [8645x3] | The only reasons I can think of for that issue are: 1) Not enough internal memory available for new apps. 2) You have a debug version of the same app already installed. |
Also, you might want to check if you have allowed installation of apps from "unstrusted sources". You need to have that option checked to be able to install apps coming from outside of the PlayStore. | |
untrusted sources | |
older newer | first last |