» tagged pages
» logout

(Feed found, click Add Page to syndicate.) Error finding feed, please try again » Find feed title

A Blog Page allows you to add entries, for news or other time sensitive postings

(Login required to save to your tagged pages.)
(or Cancel)

Make further edits, (or Cancel)

(Login required to save to your tagged pages.)
(or Cancel)

(Editing anonymously: to be credited for your changes, login or register a new account)

Change Page Permissions? Changing these permissions will adjust who can modify this page.

Matthias (change)
Swik Users (change)
(or Cancel)
Upload an image from your computer:
or Copy an image from a URL:
or Erase the current icon:
Icon Preview:

or Cancel

Erase opensuse? The contents of opensuse page and all pages directly attached to opensuse will be erased.

or Cancel

(Editing anonymously: to be credited for your changes, login or register a new account)

other page actions:
opensuse

opensuse

Tags Applied to opensuse

2 people have tagged this page:

opensuse Wiki Pages

The openSUSE project gives Linux developers and enthusiasts everything they need to get started with Linux.

The goals of the openSUSE project are:

  • Make openSUSE the easiest Linux distribution for anyone to obtain and the most widely used open source platform.
  • Provide an environment for open source collaboration that makes openSUSE the world’s best Linux distribution for new and experienced Linux users.
  • Dramatically simplify and open the development and packaging processes to make openSUSE the platform of choice for Linux hackers and application developers.

OpenSuse is covered in SourceLabs Self-support Suite for Linux and Open Source Java

www.opensuse.org
Novell

sorted by: recent | see : popular
Content Tagged opensuse

Jeffrey Stedfast: Debian Language Benchmarks - SumFile

Since someone brought it up the other day on IRC, I figured I'd take a look at some of the Java vs C# benchmarks where Java was claimed to be faster than C#.

Scrolling through the list, there were 3 tests where Java was supposedly more than 2x faster than C# on Mono.

The SumFile test looked fairly simple and I figured the bottleneck there might be related to something silly being done with StandardInput (Miguel replaced the Int.Parse() routines with my more optimal implementations a while back, so I figured that was probably ok).

The first thing I tried to do was reproduce their findings, so I grabbed the Java and C# sources from the Debian site and compiled them.

Both programs read from StandardInput an integer value per line, so I wrote a simple program to generate some input for the test:


#include <stdio.h>
#include <stdlib.h>

int main (int argc, char **argv)
{
unsigned int max, i;
int sum = 0;

max = atoi (argv[1]);

for (i = 0; i <= max; i++) {
printf ("%u\n", i);
sum += i;
}

fprintf (stderr, "master value: %d\n", sum);

return 0;
}


As you can see above, the program outputs the real sum of all the digits it is outputting to stderr so that we can compare the results of the C# and Java programs to make sure they are correct for 32bit signed integers.

Then I compiled the Java and C# versions using the same compile options mentioned on the Debian Language Shootout pages for each language:

javac -classpath '.' sumcol.java

and

gmcs sumcol.cs


I then ran each program using the following commands (using the same java and mono command-line options):


[fejj@moonlight benchmarks]$ time ./output 5000000 | java -server -Xbatch sumcol
master value: 1647668640
2147483647

real 0m4.606s
user 0m5.264s
sys 0m0.276s
[fejj@moonlight benchmarks]$ time ./output 5000000 | mono sumcol.exe
master value: 1647668640
1647668640

real 0m1.415s
user 0m2.136s
sys 0m0.228s


As you can see above, there's no way that Java is 2.3x faster than Mono... so I'm not sure where they are getting these results from. Not only that, but Java is getting the wrong answer!

My best guess is that Java does not allow integer wrapping, so I suppose that that is okay... but it's a bit odd.

For comparison's sake, here's what I get with the c implementation of sumfile:


[fejj@moonlight benchmarks]$ time ./output 5000000 | ./sumcol
master value: 1647668640
1647668640

real 0m1.043s
user 0m1.604s
sys 0m0.188s


Thinking that Java might be taking a performance hit from the bounds checking, I changed my original number-generating program to always print '1' on each line:


#include <stdio.h>
#include <stdlib.h>

int main (int argc, char **argv)
{
unsigned int i, max;
int sum = 0;

max = atoi (argv[1]);

for (i = 0; i < max; i++) {
printf ("1\n");
sum++;
}

fprintf (stderr, "master value: %d\n", sum);

return 0;
}


Running the C, Mono, and Java versions again, I get the following results:


[fejj@moonlight benchmarks]$ time ./output 5000000 | ./sumcol
master value: 5000000
5000000

real 0m0.601s
user 0m0.828s
sys 0m0.032s
[fejj@moonlight benchmarks]$ time ./output 5000000 | mono sumcol.exe
master value: 5000000
5000000

real 0m0.774s
user 0m0.876s
sys 0m0.064s
[fejj@moonlight benchmarks]$ time ./output 5000000 | java -server -Xbatch sumcol
master value: 5000000
5000000

real 0m0.751s
user 0m0.824s
sys 0m0.096s


Here we can see that Java is slightly faster than Mono when comparing the 'real' and 'user' times.

I figured that in order to get a more accurate reading, I should re-run using a larger value, so...


[fejj@moonlight benchmarks]$ time ./output 21474836 | java sumcol
master value: 21474836
21474836

real 0m2.625s
user 0m3.236s
sys 0m0.304s
[fejj@moonlight benchmarks]$ time ./output 21474836 | mono sumcol.exe
master value: 21474836
21474836

real 0m3.225s
user 0m3.712s
sys 0m0.272s


Again, Java is faster according to 'real' and 'user' times.

What have we learned?

The Java program appears to be slightly faster if and only if we do not overflow the signed integer, otherwise Mono takes the prize.

If we revert back to using the original program I wrote to generate input and re-run using our most recent 'max' value, we find:


[fejj@moonlight benchmarks]$ time ./output 21474836 | java sumcol
master value: 370655678
2147483647

real 0m19.157s
user 0m22.757s
sys 0m0.568s
[fejj@moonlight benchmarks]$ time ./output 21474836 | mono sumcol.exe
master value: 370655678
370655678

real 0m6.004s
user 0m9.513s
sys 0m0.940s


Here we see that Mono clearly outperforms Java, no matter how you slice it.

Conclusion?

You can't compare the performance of the Java and C# programs without first understanding the implications of the input provided to them.

Had the Debian Language Shootout used a different input, the performance tests might have instead shown Java getting raped by Mono for this particular test. Basically, Java just got lucky that the inputs were in their favor.

opensuse: Planet SuSE

Miguel de Icaza: Google IG and Sudoku

A few months ago, am not sure how, but Nat talked me into getting a widescreen laptop. I no longer remember what were the touted benefits of it, but this warpig of a machine is both buggy and heavy.

Since the warpig is just too heavy to carry home every day (and also requires a base station hooked up to high-def output to stay at 2.4 GHz of speed) I just leave it at work and use my five year old computer at home to surf the internets. When I bought the machine I remember distinctively describing it to friends as "a silent computer". Five years later every time I load a new web page the fans make as much noise as the construction site across the street. Was I deaf back then, or did the fans become dirty and loud?

I am a fan of Google IG, and recently I discovered that they have a tiny IDE that you can add to your Google IG page. So I decided to try to write a Silverlight Sudoku application entirely using that tiny editor in my old computer at home:

I actually cheated a little and used Emacs here and there every once in a while.

But I ended up with this cute Sudoku/Silverlight application that has exactly one puzzle:

I am very proud of my one-puzzle Sudoku because it has some of the features that I like from Big Bang's Sudoku (click to flag, double click to set the value, hints) and some cute and simple animations that I wrote in xaml and shows my allegiance to the clean and simple configuration religion:

I published it on IG as "Moonlight Sudoku". To add it to your IG home page, go here and click "Add to Google".

Now the only problem with it is that it seems to work just fine with Firefox but seems to have problems with IE and Safari. I must be doing something wrong with Javascript, but I have no idea what it could be. If you can find the bug, let me know so I can make it work on other browser.

My toy sudoku only has one puzzle, this is clearly a design decision to prevent people from becoming addicted to Moonlight Sudoku. But if you know of a source of http-fetchable Sudoku puzzles, let me know, as I might want to revisit this design decision to include more puzzles.

You can download the self-contained module (ig + html + xaml + js) from here. You might also need the Silverlight.js file.

In clear violation of David Mamet's advise to the aspiring actor, I am now going to act surprised:

In other news, Firefox 3 RC1 came out, and the release notes have nothing to say about the bugs that prevent Silverlight from working with it.

opensuse: Planet SuSE

Miguel de Icaza: Moonlight - Full Packages Available from Packman

Larry Ewing pointed this out.

PackMan now has full packages of Moonlight for OpenSUSE users (it includes ffmpeg codecs).

You can use these packages to check some videos at channel9 or see the dual-stream updated videos from Mix 08. Keep us posted about bugs and limitations.

opensuse: Planet SuSE

SUSE Linux Enterprise in the Americas: Rather Scream than Schedule a Meeting?

From the “Not Linux or Open Source, but good to know” department comes this little screed on trying to meet with people for important meetings in multiple timezones, organizations and calendaring programs.

——————————

Scenario:  Try to schedule users for a meeting who are in a) Provo b) Waltham c) Nurenberg d) France.  Mix includes 3 companies, 4 operating system choices and 3 calendaring programs/standards.  Wackiness ensues, as they say in the sitcom biz.

Enter meeting organizers such as  When is Good, Doodle and TimeBridge.  The basic premise is that you go to the scheduling software site and create a meeting and paint or select your available times, and then the site sends you the meeting URL so you can have all the other people select from the times you propose.

For example, if you click on this meeting request, you’ll see I have proposed a set of times over a week, and it’s possible to click your available times and have it sent back to me so I can see everyone’s availability.   Larry and Abigail both clicked their availability and this is the result.

While When is Good doesn’t yet support increments of 15 or 30m or less than an hour, it’s been very useful in getting a general idea of when everyone is able to meet up.  I use it over the others because I like the interface, I don’t have to register and it will send Blackberry users an html interface, rather than just not working for them.  If you need a more complete and incremental interface, I highly recommend TimeBridge.

Got a fave scheduling tool?  Let me know about it and I’ll be happy to post it and give you props.

Enjoy,

RossB

opensuse: Planet SuSE

Pavel Machek: openmoko: thanks for tangogps

Today I got tangogps & gpsd to work on neo... and it is indeed a huge step forward from pygps. It can download maps from net, and can cache it on disk. Openstreetmap support comes by default, and on-disk cache format is compatible with that used by taho_import which makes batch downloading easier. I'll do good testing tommorow.

Another useful piece of software is CheckFastCharge .. which makes neo ignore USB specification and actually charge the battery. (One line patch removes annoying "confirm four times you really mean it...)

opensuse: Planet SuSE

Novell User Communities: SLED: Novell Webcast: Multiplied SUSE Linux Enterprise Desktop Strategy for K-12 Schools

Planning to deploy new desktops in your computer labs or classrooms? Learn how to maximize your budget with multi-station SUSE Linux Enterprise Desktops from Novell and Omni. This strategy delivers a cost-effective and eco-friendly alternative to stand-alone desktops and traditional thin clients.

read more

opensuse: Planet SuSE

Duncan Mac-Vicar: Solving the famous “smart” case 3

In my last post, I showed how sat-solver (solver’s ZYpp uses) would solve correctly the “case 2″ included in smart’s README, an exercise smart uses to claim its “smartness” (because apt and yum can’t handle them).

How does it with case 3?

That’s another interesting case which was tested with APT-RPM and YUM.

In this case, there’s a package A version 1.0 installed in the system, and there are two versions available for upgrading: 1.5 and 2.0. Version 1.5 may be installed without problems, but version 2.0 has a dependency on B, which is not available anywhere.

In this case, the best possibility is upgrading to 1.5, since upgrading to 2.0 is not an option.

Here both yum and apt fail:

Just like APT, YUM selected version 2.0 and didn’t consider the availability of an intermediate version.

But smart does the right thing:

Smart correctly selects the intermediate version 1.5, which is the only viable possibility given the current options.

So, we setup a repository packages.xml with A version 1.5 and 2.0 ( 2.0 requiring an non-existing B) and a system.xml representing the installed packages, with only A 1.0 installed. We put all together in a test.xml file, and select a “upgrade” action.

We run the already introduced deptestomatic:

# deptestomatic test.xml
>!> Solution #1:
>!> upgrade A-1.0-1.noarch => A-1.5-1.noarch[test]
>!> !unflag A-2.0-1.noarch[test]
>!> installs=0, upgrades=1, uninstalls=0

And we confirm, that ZYpp (sat-solver) would also select A 1.5 as expected.

opensuse: Planet SuSE

Duncan Mac-Vicar: Solving the famous “smart” case 2

In my recent post about ZYpp, yum and smart speed and memory usage, I got this comment:

It would be also interesting to know how the new libzypp manages the “Case Studies” from http://svn.labix.org/smart/trunk/README

I don’t know, but could be that yum fixed “Case 2″ and libzypp “fails”? So the extra time and memory over libzypp taken by yum to make the dep resolution would be justified.

At first glance I thought the case was very vague, but actually it was really simple and concrete, so it was a good candidate to be tested with our test suite tools. Let’s look at it:

This is another real case, and is being reproduced in a controlled environment for tests with YUM, APT-RPM, and Smart.

The issue is, a package named A requires package BCD explicitly, and RPM detects implicit dependencies between A and libB, libC, and libD. Package BCD provides libB, libC, and libD, but additionally there is a package B providing libB, a package C providing libC, and a package D providing libD.

In other words, there’s a package A which requires four different symbols, and one of these symbols is provided by a single package BCD, which happens to provide all symbols needed by A. There are also packages B, C, and D, that provide some of the symbols required by A, but can’t satisfy all dependencies without BCD.

So, what is so special about this case?

The expected behavior for an operation asking to install A is obviously selecting BCD to satisfy A’s dependencies, on the other hand, YUM and APT fail to deliver that as a guaranteed operation, as is shown below.

Ok, there are a couple of things that must be said about this example.

  • The dependencies of the package A are broken. Unless the package A depends on the libraries libA, libB and libC and some runtime “thing” provided by it, then BCD should be split in three packages. But as none of B, C, D provides any runtime “thing”, but they just “replace” it, this is not true. So either fix BCD or fix A to depend on the libraries only, the explicit BCD dependency is bogus.

  • Debian’s apt-get won’t succeed here, because AFAIK Debian only has dependencies across packages, not on libraries. Actually I still wonder how smart could succeed here using a debian backend. I ignore if apt-rpm does support library dependencies.

  • The result yum produces makes no sense too.

  • So yes, this is the expected result, but the example is a really dumb package.

How to simulate dependencies using the ZYpp sat solver?. The magic is call deptestomatic. There are two versions of this tool, one provided by satsolver-tools, and another one provided by libzypp-testsuite. The one in sat-solver tools should be sufficient. The one in libzypp-testsuite has extra features like graphical display of dependencies.

So, we use the helix format for testcases, which was the format of the original RedCarpet testuite. A testcase is a xml file refering to one or more xml files describing repositories, and one repository represents the installed packages (in this case we can simulate with no installed packages and just one repository).

We start by creating a packages.xml.

And now, we define the test.xml describing the testcase.

If there are conflicts, the xml language has features to select solutions, but that is advanced stuff documented here. For our case, the test is really, simple, just install A.

Now run the test:

# deptestomatic test.xml

And you get the result:

>!> Installing A from channel test
>!> Solution #1:
>!> install A-2.0-1.noarch[test]
>!> install BCD-2.0-1.noarch[test]
>!> installs=2, upgrades=0, uninstalls=0

Which is the “smart” result. It only installs A and BCD, and not B, C and D (which is what yum does).

Learning to develop testcases and run them is an excellent way to help the development team to fix bugs without having to request extra information, so you can play yourself with the simulation before actually reporting it.

You can also generate testcases for day to day operations in a very simple way (no need to write xml):

  • in the YaST (Qt) package selector, go to Extras, and choose generate solver testcase (after selecting your transactions, like installing or removing packages).
  • Use zypper –debug-solver command (like zypper –debug-solver install foo )

Then you can run them with deptestomatic by referencing the test xml file. Note that you can reuse package lists (repositories) across tests. libzypp-testsuite and the sat-solver source includes a big list of testcases representing simple operations, distributions, upgrades, and distribution upgrades.

opensuse: Planet SuSE

Novell User Communities: SLES: How to Resize Xen File Based Disk VMs (EXT3 or REISER) on SLES 10 SP1

Daniel Seales explains how to resize Xen file based disk VMs on SUSE Linux Enterprise Server 10 SP1.

read more

opensuse: Planet SuSE

Michael Meeks: 2008-05-14: Wednesday

  • Turned to valgrinding for my strange X kb problem; poked the X server, found a few trivial things. Lost a chunk of time when xorg-x11-driver-input.spec deleted all of /usr/src/packages/BUILD and then unpacked
SOURCES/*.tar.bz2 poked Stefan & Petr.
  • Off into Cambridge to visit consultant; traffic amazingly bad.
  • Bathed babes, wife sniffed out a problem with N. cell group in the evening.
  • opensuse: Planet SuSE

    Michael Meeks: 2008-05-15: Thursday

    • H. sick in the morning, J. to doctors; poked mail - pleased to see Ricardo's nice yast2-gtk fixes landing. Finally realised that the Debian / Ubuntu security hole affects us too - we work with Debian-ites and allow people with their keys to connectt to our systems. That makes it less funny - also (I guess encouragingly) GNOME SVN is unavailable while the situation is unwound: it'd have been nice to find some easy-to-use "strong key checker" to quickly run over lots of public keys to disable broken ones.
    • Finally annoyed enough to create a cut-down test case for the gdb back-tracing inadequacies experienced over the last months - wrt. it giving up prematurely in various ways - filed it.
    • More code reading; finished J's tax return with her, worked late.

    opensuse: Planet SuSE

    Michael Meeks: 2008-05-16: Friday

    • Couldn't sleep, up rather early, poked mail - bits of hacking.
    • Amused by the metasploit motivational posters. Quick chat with the evo guys, read some code. More bug mail thrash. Pleased to measure oowriter launching in ~500ms (according to the RTL_LOGFILE timing debug in the main binary), at least wall-clock time of oowriter is around ~1 second for me in factory.
    • Prodded my gdb bug again; why should prologue analysis be necessary to walk the %ebp chain ? valgrind manages to do a great job here in the same test case.
    • Knocked off early. J. out to Laura's party - back to work for a bit. Dug at a really strange xkb / libxklavier bug: most amazing, still no progress on it.

    opensuse: Planet SuSE

    James Willcox: Some things do change…

    Ever since zypper came along I hated it. It was slow, buggy, and used a ton of resources.

    Well, I installed openSUSE 11.0b3 yesterday and the zypper/libzypp there is massively improved. I don’t think it’s possible to overstate just how much of an improvement it really is. Normally I just make rcd/rug work on whatever new release comes along and continue using that. Zypper and PackageKit are so good now that I’m giving that up. So congratulations to the zypp team — I know they caught a lot of flack in the past, but I think this release will finally put a lot of that to rest.

    opensuse: Planet SuSE

    Pascal Bleser: smplayer

    smplayer 0.6.0 has been released. If you haven't used it yet, it is a very nice and comprehensive graphical frontend for the almighty mplayer that (now) uses the Qt4 toolkit.

    It just got out of a pretty long development branch plus several betas and now seems to be ready for mass consumption (at least, that version works nicely on my desktops (10.2+10.3), haven't noticed any issues yet).

    The package of the old major release has been renamed to smplayer-old and the new 0.6.0 branch from smplayer-beta to smplayer.

    Note that kmplayer is another nice mplayer frontend that perfectly integrates into konqueror.

    Screenshots: smplayer | kmplayer

    opensuse: Planet SuSE

    Page 1 | Next >>
    Username:
    Password:
    (or Cancel)