Announcement

Collapse
No announcement yet.

Mono 2.10, Moonlight 4 Preview 1 Released

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • ciplogic
    replied
    Originally posted by monraaf View Post
    I've heard that Tomboy is a dead project now, isn't so? Why don't you check yourself before making such comments?

    You know the tendency of Mono proponents to spread FUD about competing products sure doesn't help its cause. If anything it adds to the perception that Mono is a not a framework that has a merit of its own, but is there because of its vocal advocates pushing it with lies, deception and politics.
    I've made wrong assumptions based on blog entries: http://www.figuiere.net/hub/blog/?Gnote not on application availability (as I don't use an app to save 10 M of RAM) and as I'm registered to Planet Gnome, I've get from time to time notifications about Tomboy but I've don't remember anything about GNote (excluding the fuss about porting in initial releases)
    Mea culpa for my mistakes. Read lies and non factual statements as degree of correctness and I think that I stand pretty much ok, but still I want to make clear that I apologize for my mistake!

    Leave a comment:


  • monraaf
    replied
    Originally posted by ciplogic View Post
    The guy will backport fixes after this? I've heard that Gnote is a dead project now, isn't so?
    I've heard that Tomboy is a dead project now, isn't so? Why don't you check yourself before making such comments?

    You know the tendency of Mono proponents to spread FUD about competing products sure doesn't help its cause. If anything it adds to the perception that Mono is a not a framework that has a merit of its own, but is there because of its vocal advocates pushing it with lies, deception and politics.

    Leave a comment:


  • ciplogic
    replied
    Originally posted by oleid View Post
    Another update:
    (...)
    $ time ./pi-cpp4 10000 out2.txt

    real0m6.643s
    user0m6.633s
    sys0m0.006s

    The C version was around 6.9 s.
    Originally posted by smitty3268 View Post
    You should be very careful drawing conclusions from these sorts of micro-benchmarks. What you've shown isn't that a language is 30% faster than another one, but just that its compiler has an optimization for that specific case being tested which is 30% faster. The situation could be completely reversed on another benchmark.
    Yes and no: you change the collection, but you did not use the same paradigm (which made overengineered the first solution in first place). You just prove the Smitty point that a compiler can optimize at it hits (or not) some optimizations. I'm gladly surprized on those results. Did you used iterators, or used vector with an indexer to visit all data?
    I do know and I to agree with you, C++ can generate better code than Mono (was true already in Windows/Visual Studio 2010 results). The issue is that if you still use the lowest paradigm (here C one, that was matching great with compiler optimizations) you will get great performance, but a lot of C++ projects do not work in this way.
    Also the point of benchmarks were not to prove that Mono was the fastest, but that in a specific scenario, things may change and even your information (or mine, that proves in many ways innacurate on Linux/GCC) should be tested before drawing conclusions.
    Linpack (also known as LAPack) was ported to C# and Java and _this_ benchmark may show even a greater difference, and to check my honesty, you may look for this same text (Linpack in this tread) as a case of Mono being already slower (I've tested it, and should be at least 2x slowdown, compared with C++) but in typical code is now how people use Mono (or .Net) and little people wrote everything (the tendency is that you can see photo processing in JavaScript if you sow Chrome Experiments) where it make no sense in that specific language. LibXML2 is faster than System.Xml, but may not be visible in practice.
    Which conclusions will you draw from your benchmarks? Will you use Mono (you already did for those benchmarks at least ) knowing that you have in worst case implementation a 2X slowdown? If you will can, will you rewrite a Qt code that go from supposedly 2 seconds to a 0.7 seconds (to be rewritten in C like style), will you consider to rewrite that code and provide a patch?

    Leave a comment:


  • oleid
    replied
    another update

    Another update:

    Just wanted to check, what the performance penalty of using c++ classes like string + vector vs. plain C arrays is. Therefore I took the C version of the code and replaced the int array with a vector<int> and the char array with string (and removed the free, and copied the IO stuff from the C++ version). Guess what? It's faster, even faster than the plain C version



    $ time ./pi-cpp4 10000 out2.txt

    real0m6.643s
    user0m6.633s
    sys0m0.006s

    The C version was around 6.9 s.

    Leave a comment:


  • ciplogic
    replied
    Originally posted by kraftman View Post
    It was just example and analogy. MS OOXML has very big relation with mono, because mono and MS OOXML are Microsoft techs (both lobbied by Icaza btw). Microsoft wants people to use its technology, because they want to have it under control.
    "This is a personal web page. Things said here do not represent the position of my employer. " - Miguel de Icaza
    Source: http://tirania.org/blog/
    What Microsoft and Icaza lobbied with informed choices, or less informed, is not equal to link Mono with whatever of his oppinions.
    He is biased and he is entitled to, at least on his blog!
    Do you want MS format for office files, to not succeed is fine, just don't pick bad analogies and try to improve logic associations.

    Leave a comment:


  • ciplogic
    replied
    Originally posted by kraftman View Post
    Afaik winforms etc. were supposed to be isolated from the main product, but something like this never happen, right? You told me what Icaza didn't want to tell. How am I supposed to believe him now?
    I'm too lazy to check, but I was probably just guessing.
    Install Tomboy and see if is installed WinForms, so is isolated by your main product, probably is not there (is not, but just check). On Windows on the other hand is preinstalled as Mono come as a full package. Is like QtWebkit that is a Webkit ripoff that may break things from Apple (Webkit is an Apple hosted project) so it may pose similar risks as WinForms. Should we not use Qt for this reason? Don't you find this logic bogus? And what if WebKit will be blocked from Qt? Will mean that Qt applications will use QtGecko in future, not that we have to remove all Qt applications as they pose risks.
    Originally posted by kraftman View Post
    (...) I'm guessing C# wasn't too helpful in programming in this case, because Gnote was made (ported) just by a single developer.
    You state a bug/crash that happen on your machine in F-Spot and that's why Gnote was made that fast by one developer. Which is the relation!? I don't think that you wrote programs that were larger than some hundred of lines, where using a framework (even is Qt, or C++ STL library) is very important, if not mandatory. I've seen codebases of 14.000 classes, that are like 5 million lines of code, which was hand-made, not generated. Was one of the ugliest in my life experience.
    I think you can imagine that porting is not developing: think that some one wrote a versioning system and pin down bugs for two or three years. And after other one skip his hard work spotting bugs, reporting and fixing buggs (that take most of development time, I sow that on average I change 500 lines of code per day in a 2 year time, and this with paid tools like Resharper, Visual Studio Pro, not toys like SharpDevelop or Gedit C# syntax highlighter) but he will translate line with line, probably he will get likely around 3-4000 lines of code per day as I will run the compiler and see where it crash and do a global replace. (I don't want to submine his contribution, but to get a scale of what you imply). So line to line conversion prove almost nothing. The guy will backport fixes after this? I've heard that Gnote is a dead project now, isn't so?

    Originally posted by kraftman View Post
    The problem with mono is, I don't see its advantages. Even a single one.
    You're not a developer, right? Garbage collection, (Generics/Linq even are not as big as stated), var keyword, a decent IDE are the first ones that appear right now in my mind, and the wide range of availability of the code. Performance wise is even faster than Qt/C++ if you use Qt collection framework (or STL/Boost collections). Also you can develop a C# code that works on Windows, Linux (not on your Linux though ), major phones, OS X, web servers, some browsers (as Silverlight, Moonlight). And all those work without an interpreter, as is Python (that I see as biggest Linux "competitor" as abstractions, target, probably the REPL support is the thing that is missing, but just on non Mono distributions). The competing choices as platform availability are Oracle's Java and Adobe's Flash.

    Leave a comment:


  • kraftman
    replied
    Try adding some notes and memory usage rises very quickly.
    Sorry, it seems it's no longer true.

    Leave a comment:


  • kraftman
    replied
    Originally posted by ciplogic View Post
    Did I ever said that I support MS OOXML or not? Even I'll do, it have no relation with Mono (I support JavaScript, does it mean I support Java or Mono with it as they are in some way related, machine independent and use a JIT and a GC!?).
    It was just example and analogy. MS OOXML has very big relation with mono, because mono and MS OOXML are Microsoft techs (both lobbied by Icaza btw). Microsoft wants people to use its technology, because they want to have it under control.

    I said as you probably understand that patents are about implementation details and much less about copyright (Mono does not use ".Net" naming anywhere as far as I know, maybe C# as name, but if this is the issue, is not hard to rename things out) but about patents.
    WinForms is problematic, but 95% of code of all Mono applications do not link (or ever they do, this code may be easily rewritten, in case of a patent treat) to them. They likely link to Gtk+, GIO, GStreamer and so on.
    Afaik winforms etc. were supposed to be isolated from the main product, but something like this never happen, right? You told me what Icaza didn't want to tell. How am I supposed to believe him now?

    C# is a nice language, I recommend you to see why by using it. JavaScript is another nice one, or Python or QML (which is derived from JavaScript). I do think that Qt/C++ is not a golden hammer, even picking just desktop app development, but for certain is a good starting point.
    If you want to attack Microsoft, go for it, I am not going to stop you.
    I have nothing against Python used in a smart way and the newest Qt SDK 1.1 provides utilities to work with QML. If I'd be a Windows user I'd be using C# I guess, but I'm not a Windows user (ok, I just play windows games).

    Please stop use Google too, as they almost monopolize search business, their Android platform is Java alike (so is even uglier than Mono, and Java is today owned by two ex-evil corporations: Oracle and IBM) or Apple as they monopolize mp3 player and phone industry (I think you get the joke).
    I prefer Google and IBM over MS, that's for sure. At least they're basing on Linux and support it. Btw. what search engine would you recommend? Bing? :> I don't like Apple and Oracle at all.

    I don't say that it support, I do encourage you to test and to see for yourself. You was the guy that said that AmaroK and QtCreator starts faster than MonoDevelop and Banshee. Proper numbers give proper information to talk with.
    I'm too lazy to check, but I was probably just guessing. Btw. like I mentioned Amarok is more powerful then Banshee, so I just did Gnote vs Tomboy comparison and Gnote starts faster (and uses less memory). I wanted to compare F-spot vs Shotwell too, but F-spot didn't start. I'm guessing C# wasn't too helpful in programming in this case, because Gnote was made (ported) just by a single developer. The problem with mono is, I don't see its advantages. Even a single one. There's no killer application made using mono, but there are many killer Qt applications - Amarok, DigiKam. Mono apps can be ported by a single developer in short time (and ports are less resource hungry). Maybe problems lay not in mono, but in programmers? It's hard to tell.

    Do you understand how works a registry allocator using a graph colorize or not? Did you see the benchmark made by oleid? He noticed for example that for him Mono did had no performance improvement using LLVM. For technical reasons I can think for some cases that why was happening: his benchmark was using a machine (AMD64) that had more free CPU registers than I've did the benchmark (I386). Also Mono does not do loop unrolling optimization and autovectorization (that he especially try to set using SSE3 optimizations). Those optimizations are powerful in complex rendering and like code, but are useless for desktop. Also this code is deceptively useless even for its times... do you use PI with 100 digits precision, 10.000 or 20.000 to matter the 1-3 seconds out of 10 that you may gain at 10.000 digits? I hope you wrote Qt code and you know what is Tulip. Look in Qt codebase and search if all codes use just C like constructs or they use Tulip. Look on KDE codebases and look for the same constructs. Those constructs will likely use Tulip (= collections like QList, QMap, and so on) and they have an overhead similar with slowest C++ timing in Pi benchmark. You will notice it? Unlikely! It will be as slow as Mono in typical usage (sometimes even slower, but is beyond the point). Also Mono is not used at full potential as most people don't write using Mono.SIMD, even some do.
    I just said to you that you move target. Performance wise: http://en.wikipedia.org/wiki/Computer_performance is a tricky business.
    This need to be verified in real life. As far there are mono counter apps like Gnote and Shotwell which are more responsive and which use less RAM.

    55 vs 43 M in Tomboy vs GNote... nice. And your system memory is? I work on a machine with more than 4G (is a laptop) in my daily usage, but my netbook I've bought just 2 years ago had by default 1G of RAM (upgraded to 2G), so you argue that 1% of RAM of that machine, from 4% to 5% may make a difference. It's fine, use GNote if that percent bother you that much. And if you need to edit (from Gnome, as I don't know all KDE equivalents) your "start" menu, don't use Alacarte, as is written in Python, and don't use clock panel, because sometimes it leaks (it happened for me in a RHEL 5.1 at work, and I've got it like 300M before it crash) and use just your hand watch. You save memory and your system is snappier.
    Oh, man. Tomboy is supposed to be just a simple note taking program while its memory usage is sometimes comparable to Firefox! Try adding some notes and memory usage rises very quickly. 1% in this case is 1/5 - imagine running few big applications same time. Your example with memory leaks isn't adequate to memory usage.

    Leave a comment:


  • ciplogic
    replied
    Originally posted by RealNC View Post
    This was just a response to the claim that a 15ms event will go unnoticed, which is not true. It otherwise has no relation with Mono or whatever.
    I appologize for overreacting... and you're right on this punctual thing

    Leave a comment:


  • RealNC
    replied
    This was just a response to the claim that a 15ms event will go unnoticed, which is not true. It otherwise has no relation with Mono or whatever.

    Leave a comment:

Working...
X