OVH Cloud OVH Cloud

Windows est rapide, Microsoft est meilleure

388 réponses
Avatar
Jérémie Bottone
debug this fifo a formulé la demande :
> Jérémie Bottone wrote:
>
>> - Lent
>
> windows aussi est lent.





Faut, il n'y a qu'à voir le temps pour ouvrir OpenOffice ou Mozilla
sous Windows ou Linux, et on jette Linux

Dans l'ensemble, n'importe quellles t'aches faites sous Windows, par un
utilisateur expérimenté ou pas, sont faites beaucoup plus rapidment,
qu'elles soient locales ou distantes

Pourquoi ? Car Linux est un système bricolé par des bricoleurs, basé
sur du code UNIX datant de 30 ans

Les programmeurs LINUX sont incapable de faire des logiciels terminés
qui fonctionnement bien, d'où e pourquoi du larmoyement et du
pleurnichage perpetuel, de la victimisation même

Alors ils disent: Bouhhhhhh, tous les codes sources doivent être
ouverts !

(Ceci pour éviter de se donner de la peine de développer, et de pouvoir
"pomper" allieurs ce qu'ils sont incapanle de réaliser)

Je hais LINUX et cette mentalité

Microsoft, est une usine de développement, dont il sort des milliers de
logiciels de qualité, s'attirant la jalousie de tous les pingouins du
monde

...Et LINUX C'EST DE LA MERDE

JB

10 réponses

Avatar
JKB
Le 30-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
remy ?crivait dans fr.comp.os.linux.debats :
Michel Talon a écrit :
Doug713705 wrote:
Le Wed, 29 Jul 2009 17:34:23 +0800, Stephane TOUGARD a gâché de la bande
passante pour nous écrire :

Si ca peut te faire plaisir. Mais comme le disait un autre intervenant.
On s'en fout. On emule ni ne simule une norme, on l'implemente.


De ce que j'en comprend et sans vouloir prendre parti ni foutre le
bordel dans vos chamailleries, pour pouvoir implémenter la norme POSIX
sous Windows il faut émuler en userland certains comportements qui
devraient avoir lieu en kernelland car l'absence du code source du noyau
de Windows empèche cette implémentation en kernelland seul.



Ca reste à démontrer, à mon avis.



je dirais même que c'est prouvé et tout en user

http://java.sun.com/j2se/1.4.2/docs/api/java/lang/Thread.html


la différence essentielle dans l'architecture cygwin c'est que la jmv
émule un hard virtuel, mais cela ne change pas grand chose à mon avis



Ben si, ça change tout. Tu le dit toi même, tu as une machine
_virtuelle_ avec tout ce que ça implique. De la même manière, tu peux
avoir un bazar qemu ou bochs totalement userland qui fait tourner un OS
qui lui a de nouveau une partie userland et kernelland. Cygwin n'est pas
un OS, c'est un ensemble de bibliothèques qui restent en userland.

à moins que bien sûr il existe une fonctionnalité dans les threads
posix qui n'existent pas dans les threads java


ce qui implique à mon avis cygwin fait comme java il redécoupe
en sous ensemble non vérifier bien sur



Non.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Avatar
remy
JKB a écrit :



ce qui implique à mon avis cygwin fait comme java il redécoupe
en sous ensemble non vérifier bien sur



Non.



un peu court il faut tenir jusqu'à vendredi

une copie d'écran du gestionnaire de tâches de windows
ou l'url d'un tout petit programme multi thread pour cygwin
donc avec un bout de code source histoire de voir les .h

en cherchant bien, je pense en trouver un cygwin qui traine là où je
bosse par contre je ne garantie pas la fraîcheur du truc



remy



JKB





--
http://remyaumeunier.chez-alice.fr/
Avatar
JKB
Le 30-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :



ce qui implique à mon avis cygwin fait comme java il redécoupe
en sous ensemble non vérifier bien sur



Non.



un peu court il faut tenir jusqu'à vendredi



Le non, c'est pour le 'cygwin fait comme java'. Java est une
_machine virtuelle_. En gros (pour faire simple), c'est un émulateur
d'une machine _complète_ avec son OS. Dans la JVM, tu as l'équivalent du
kernelland de l'OS avec une API complète de gestion des threads.
L'atomicité (qui est restreinte à la JVM) est limitée à ce qui tourne
dans la JVM (ça suffit, tu n'as pas besoin de garantir l'atomicité vis à
vis du reste). Cygwin n'implante pas de machine virtuelle et il n'y a
pas de bout d'implantation de threads en mode kernel parce que c'est
impossible sans les sources ou la documentation du noyau Windows. Les
deux approches sont donc orthogonales. Comparer l'une à l'autre est
aberrant.

En d'autres termes, lorsque tu lances une application Java, tu la
fais tourner dans une machine virtuelle. Si tu lances un exécutable
Cygwin, il tourne sous Windows avec les limitations imposées par le
noyau Windows (et les bibliothèques Cygwin qui sont en userland).

une copie d'écran du gestionnaire de tâches de windows
ou l'url d'un tout petit programme multi thread pour cygwin
donc avec un bout de code source histoire de voir les .h



Je n'en vois pas l'intérêt. De toute façon, j'ai déjà dit que j'ai
arrêté de contribuer au truc au début de XP, ce qui est en peu lointain.
Je me penche de temps en temps sur Cygwin lorsque je n'ai pas le choix,
mais je n'ai même plus de machine Windows sous la main.

en cherchant bien, je pense en trouver un cygwin qui traine là où je
bosse par contre je ne garantie pas la fraîcheur du truc



Et alors ? L'intérêt de Cygwin, c'est d'être une application et non
une machine virtuelle. Le tout est de comprendre les avantages et
inconvénients des deux approches.

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Avatar
remy
JKB a écrit :


En d'autres termes, lorsque tu lances une application Java, tu la
fais tourner dans une machine virtuelle. Si tu lances un exécutable
Cygwin, il tourne sous Windows avec les limitations imposées par le
noyau Windows (et les bibliothèques Cygwin qui sont en userland).





limitation limitation c'est vite dit
dans cygwin

sleep 60 & sleep 60

http://cjoint.com/data/hEktVPyBuG.htm

j'ai bien 2 processus du coup je me demande si j'ai pas raconté des
conneries sur la gestion des threads sous java
j'ai comme un doute sur ce coup là


remy

--
http://remyaumeunier.chez-alice.fr/
Avatar
JKB
Le 30-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :


En d'autres termes, lorsque tu lances une application Java, tu la
fais tourner dans une machine virtuelle. Si tu lances un exécutable
Cygwin, il tourne sous Windows avec les limitations imposées par le
noyau Windows (et les bibliothèques Cygwin qui sont en userland).





limitation limitation c'est vite dit
dans cygwin

sleep 60 & sleep 60

http://cjoint.com/data/hEktVPyBuG.htm



Peux-tu m'expliquer ce qu'est le rapport avec la choucroute ?
Tu vois tes deux processus, c'est normal (si c'était une machine
virtuelle, tu ne verrais que ta machine virtuelle).

sleep peut s'implanter de tas de façons différentes (ça va d'une
bête boucle à des trucs sournois qui mettent en oeuvre des interruptions
et des times). Si tu dois être précis, il vaut mieux qu'il soit en
kernelland, mais tu peux très bien le coller en userland en bricolant
un peu. C'est moins précis, mais ça passe tout à fait.

Bref, je ne vois pas ce que tu cherches à montrer.

j'ai bien 2 processus du coup je me demande si j'ai pas raconté des
conneries sur la gestion des threads sous java
j'ai comme un doute sur ce coup là



Si...

JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Avatar
remy
JKB a écrit :
Le 30-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :

En d'autres termes, lorsque tu lances une application Java, tu la
fais tourner dans une machine virtuelle. Si tu lances un exécutable
Cygwin, il tourne sous Windows avec les limitations imposées par le
noyau Windows (et les bibliothèques Cygwin qui sont en userland).




limitation limitation c'est vite dit
dans cygwin

sleep 60 & sleep 60

http://cjoint.com/data/hEktVPyBuG.htm



Peux-tu m'expliquer ce qu'est le rapport avec la choucroute ?



import java.lang.Thread;

public class exemple extends Thread
{
String txt;
public exemple( String txt)
{
this.txt=txt;
}
public void run()
{

try {
while(true)
{
Thread.sleep(10);
System.out.println(txt);
}


} catch (InterruptedException e)
{ System.out.println("ouch!n");
return;
}

}
public static void main(String args[]) throws InterruptedException
{
Thread T1 = new exemple ("t1");

Thread T2 = new exemple ("t2");

T1.start();
T2.start();

}
}

javac exemple.java
java exemple
dans une autre console

:~$ ps -xa |grep java
Warning: bad ps syntax, perhaps a bogus '-'? See
http://procps.sf.net/faq.html
14756 pts/0 Sl 0:00 java exemple
14827 pts/1 R+ 0:00 grep java


donc d'un côté 1 processus 2 threads userland le code java sous linux
et de l'autre sous windows 2 processus, bon ok pas 2 threads mais des
forck, les sleep
mais il y a bien gestion des processus sous cygwin donc il passe par
windows et non pas par une émulation d'une fonctionnalité du noyau en usr

il reste pour clore complètement le débat un bout de code qui utilise
vraiment des threads sous cygwin et non pas mon test avec les forck
à toi de trouver un exemple
remy







--
http://remyaumeunier.chez-alice.fr/
Avatar
Bruno Ducrot
On 2009-07-29, Toxico Nimbus wrote:
Le 29/07/2009 14:09, Nicolas George a écrit :
JKB , dans le message, a
écrit :
Des bibliothèques (logicielles s'entend) ne s'émulent pas. Elles sont
mises en oeuvre, ou implémentées.


On est d'accord et j'ai dit que c'était un raccourci de langage dans
le sens où on ne peut pas prétendre implanter les specs Posix en
userland.



Je pense que tu t'égares un peu en insistant sur la distinction kernelspace
/ userland. Par exemple, sur un micro-noyau convenablement conçu, on peut
parfaitement implémenter POSIX en userland.



Quelque soit le noyau, POSIX n'est implémentable correctement que si le
noyau fournit le moyen de garantir l'atomicité de n'importe quelle
portion de code, plus des signaux et des sémaphores compatibles avec
ceux de la spécification. A partir de là, tout le reste doit être
implémentable.
Je ne vois ici aucun rapport au type de noyau.




Dans le cas d'un micro-noyau, on peut tres bien imagine avoir un
serveur tel qu'un lock manager (qui sera forcement en userspace)
qui pourra guarantir les portions critiques d'un process.

--
Bruno Ducrot

-- Which is worse: ignorance or apathy?
-- Don't know. Don't care.
Avatar
JKB
Le 30-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :
Le 30-07-2009, ? propos de
Re: Windows est rapide, Microsoft est meilleure,
remy ?crivait dans fr.comp.os.linux.debats :
JKB a écrit :

En d'autres termes, lorsque tu lances une application Java, tu la
fais tourner dans une machine virtuelle. Si tu lances un exécutable
Cygwin, il tourne sous Windows avec les limitations imposées par le
noyau Windows (et les bibliothèques Cygwin qui sont en userland).




limitation limitation c'est vite dit
dans cygwin

sleep 60 & sleep 60

http://cjoint.com/data/hEktVPyBuG.htm



Peux-tu m'expliquer ce qu'est le rapport avec la choucroute ?



import java.lang.Thread;

public class exemple extends Thread
{
String txt;
public exemple( String txt)
{
this.txt=txt;
}
public void run()
{

try {
while(true)
{
Thread.sleep(10);
System.out.println(txt);
}


} catch (InterruptedException e)
{ System.out.println("ouch!n");
return;
}

}
public static void main(String args[]) throws InterruptedException
{
Thread T1 = new exemple ("t1");

Thread T2 = new exemple ("t2");

T1.start();
T2.start();

}
}

javac exemple.java
java exemple
dans une autre console

:~$ ps -xa |grep java
Warning: bad ps syntax, perhaps a bogus '-'? See
http://procps.sf.net/faq.html
14756 pts/0 Sl 0:00 java exemple
14827 pts/1 R+ 0:00 grep java


donc d'un côté 1 processus 2 threads userland le code java sous linux
et de l'autre sous windows 2 processus, bon ok pas 2 threads mais des
forck, les sleep
mais il y a bien gestion des processus sous cygwin donc il passe par
windows et non pas par une émulation d'une fonctionnalité du noyau en usr



Exprime-toi correctement parce qu'il faut te lire plusieurs fois
pour essayer de comprendre ce que tu veux bien dire.

D'un côté, tu as une machine virtuelle, l'exécutable 'java' qui lui,
exécute ton programme java. Il n'est pas exécuté directement. Je ne vois
toujours pas ce que tu cherches à montrer vu qu'on parle de deux choses
totalement différentes. Lorsque tu lances un exécutable cygwin, tu le
lances directement, sans passer par une machine virtuelle qui réimplante
un tas de trucs.

il reste pour clore complètement le débat un bout de code qui utilise
vraiment des threads sous cygwin et non pas mon test avec les forck
à toi de trouver un exemple



JKB

--
Le cerveau, c'est un véritable scandale écologique. Il représente 2% de notre
masse corporelle, mais disperse à lui seul 25% de l'énergie que nous
consommons tous les jours.
Avatar
basto
Le Thu, 30 Jul 2009 12:07:59 +0200, JKB a écrit:

D'un côté, tu as une machine virtuelle, l'exécutable 'java' qui lui,
exécute ton programme java. Il n'est pas exécuté directement. Je ne vois
toujours pas ce que tu cherches à montrer vu qu'on parle de deux choses
totalement différentes. Lorsque tu lances un exécutable cygwin, tu le
lances directement, sans passer par une machine virtuelle qui réimplante
un tas de trucs.




La JVM utilise les threads natifs depuis un petit bout de temps déjà.
Avatar
Stephane TOUGARD
JKB wrote:

sleep peut s'implanter de tas de façons différentes (ça va d'une
bête boucle à des trucs sournois qui mettent en oeuvre des interruptions
et des times). Si tu dois être précis, il vaut mieux qu'il soit en
kernelland, mais tu peux très bien le coller en userland en bricolant
un peu. C'est moins précis, mais ça passe tout à fait.



Tu veux dire qu'on peut mettre sleep() en userland en faisant une
emulation POSIX ?

Mais j'ai une bete question, bc (qui est defini par la norme POSIX), ils
l'ont emule comment dans Cygwin ?