![]() |
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| High-Level-Programmierung Post Fragen zu C, C + +, Java, SQL, und andere Programmiersprachen hier. |
Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
|
||||
| Faden | Thread Starter | Forum | Antworten | Last Post |
| Semaphore | raguramtgr | UNIX for Dummies Questions & Answers | 7 | 06-15-2009 09:39 AM |
| Semaphore | Jaken | Shell Programmierung und Scripting | 2 | 04-04-2009 05:10 PM |
| dmidecode, RAM-Geschwindigkeit \u003d "Aktuelle Geschwindigkeit: Unbekannt" | Santi | Dateisysteme, Festplatten und Memory | 0 | 02-16-2006 06:16 AM |
| Semaphore | vjsony | UNIX for Dummies Questions & Answers | 3 | 04-07-2003 02:06 PM |
| Semaphore | yls177 | UNIX for Dummies Questions & Answers | 1 | 10-08-2002 11:18 PM |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread |
Bewertung:
|
Anzeige-Modi |
|
|
|
||||
|
Nur zur Betonung, Ihre Ergebnisse der Overhead ab einer großen Anzahl von Prozessen, und in jedem von ihnen, den Druck einer Reihe von Text zu einem gepufferten Block Device, und die Beendigung des Prozesses. Engpässe in jedem dieser Vorgänge sind sehr viel häufiger zu erklären, die Ergebnisse als das, was Sie versuchen zu testen.
|
|
||||
|
Ich kompiliert und ausgeführt Loop-Test-Code gepostet von Otheus.
Xeon / SCO Ergebnisse: 555.555,56 semop / s [0,0] Xeon / Linux Ergebnisse: 128.205,13 semop / s [0,0] Ich habe keinen Zugriff auf PIII-Box rechts, aber die Ergebnisse sind identisch (anteilig) als das, was ich in meinem Test Ich denke, es ist nicht entscheidend, nicht die Ergebnisse hier PIII. So weit wie Overhead, die von Zeit - ich bin mir bewusst, der es, wie es ähnelt Situation, dass ich die Bewertung, so dass es einen gültigen Test-und nicht um eine Kontrolle. Also, hat jemand eine Idee haben, was den Flaschenhals werden könnte? oder, wo sie suchen müssen? Ich danken Ihnen für Ihre Geduld mit mir und Ihre Ausdauer bei der an der Unterseite der es. |
|
||||
|
Zugreifen auf eine Semaphore - vorausgesetzt, es gibt keinen Stillstand - es ist eine Direct Memory Access Betrieb, eine ganze Seite oder ein Vielfaches, um Speicher-Overhead. Es kann mit einem teuren Anruf: brk (), wenn kein Speicher ist schon da.
Es hängt davon ab, was Code:
size mycode shmget stellt aus Heap in den meisten Implementierungen: / proc / sys / kernel / sh * proc Verzeichnisse haben Shared-Memory-Informationen. Kernel-Einstellungen Shared-Memory-Operationen. Versuchen Sie diese: Code:
gcc -p -g -o otherus otheus.c otheus.c grpof otheus |
|
||||
|
PS Call utimes (struct tms *) an die tatsächlichen Zeiten, plus Granularität ist CLK_TCK, die in der Regel besser als time ().
gettimeofday kann verwendet werden, um Wand Zeit noch genau so gut. utimes () gibt clock_t Wand Zeit. |
|
|||||
|
Jim, utimes () nicht tun, was Sie denken, dass es funktioniert. Gettimeofday ist richtig, aber dann wird der Code etwas komplizierter. MICROSECOND Unterschiede würden nicht die Unterschiede in der Leistung ist er zu sehen.
|
|
||||
|
Jim,
Ich habe nie versucht Profiling vor, so lief ich in einigen Problem hier: $ Gcc-pg-o tstloop tstloop.c $ Tstloop 128.205,13 semop / s [0,0] $ Gprof tstloop gprof: gmon.out Datei fehlt Call-Graph-Daten Irgendwelche Ideen? Was die Nutzung der Zeit vs gettimeofday (die in der Tat die ich benutzt habe) ist irrelevant, ich bin versucht zu sehen, wie viele Male pro Sekunde ist in der Lage, einen Prozess zu schaffen, die einfach eine Semaphore. Danke. |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|