Seite 2 von 3
Verfasst: 04.04.2009 11:06
von X360 Andy
C:
Total Files : 814
Total Lines : 34462 /Durchschnitt 42 Lines pro File
HDD:
Total Files : 374
Total Lines :146487
Verfasst: 04.04.2009 12:47
von DrNo
Total Files: 114
Total lines: 11563
Verfasst: 04.04.2009 13:00
von KeyKon
Total files: 723
Total lines: 115568
Verfasst: 04.04.2009 13:06
von teejex
hi
hab das programm auch mal laufen lassen xD
ca 700 Dateien
ca 90.000 Zeilen
Habe allerdings nach .pb, .java, .cpp und .rb gesucht - da ich mit PB fast noch gar nix gemacht habe^^
übrigens würde ich das delay(1) und die PrintN(...) sachen rausnehmen, da das ganze dann - zwar vorübergehend auf kosten des Prozessors - um einiges schneller vonstatten geht ^^ nützlich wenn man seine ganze Festplatte scannt.
MfG
Jan
Edit: Höchstwahrscheinlich ist das wahre Ergebnis um einiges deprimierender, da ich nicht davor zurückgeschreckt bin, Beispielcodes usw. mitzuscannen

Verfasst: 04.04.2009 13:15
von AndyMars
teejex hat geschrieben:Habe allerdings nach .pb, .java, .cpp und .rb gesucht - da ich mit PB fast noch gar nix gemacht habe^^
...
Das ist doch OK, wenn man darauf hinweist...
...
Aber-aber-aber...

delayed(1) darfst du doch nicht entfernen! Windows ist ein Multitaskingsystem!!! Oh Gott, oh Gott... *bibber*
...
edit:
teejex hat geschrieben:Ausserdem hat es ja noch einen weiteren Kern
Auja - daran hab ich gar nicht gedacht ^^.
Verfasst: 04.04.2009 13:17
von X0r
>Habe allerdings nach .pb, .java, .cpp und .rb gesucht - da ich mit PB fast noch gar nix gemacht habe^^
Und ca. 0.5 % der Zeilen sind von dir, oder?

Verfasst: 04.04.2009 13:20
von teejex
...dann ist mein Windows jetzt halt single - lebt aber immer noch xD
Ausserdem hat es ja noch einen weiteren Kern, wo es sich als "MultitaskingManager" austoben darf.
Messwerte(Ohne zwischenzeitliche PrintN() Ausgabe)
Delay(1) -> 6224ms - 6,2s - 0,1min
;Delay(1) -> 550029ms - 550,0s - 9,1min
MfG
Jan
Edit: 0,5% ist wohl etwas übertrieben - im negativen Bereich findeste vielleicht mehr

Spass beiseite, ich vermute mal, dass an die 10-15k Zeilen von mir sind... wovon maximal 200 PB sein dürften

Verfasst: 04.04.2009 13:30
von KeyKon
teejex hat geschrieben:übrigens würde ich das delay(1) und die PrintN(...) sachen rausnehmen, da das ganze dann - zwar vorübergehend auf kosten des Prozessors - um einiges schneller vonstatten geht ^^ nützlich wenn man seine ganze Festplatte scannt.
Das kann man schlecht messen, da wenn man das Prog zum Zweiten mal startet die Festplatte nicht mehr wirklich durchsucht wird da schon alles im Speicher hängt...
In der Regel braucht man das Delay allein darum nich weil das Suchen ExamineDirectory und das ganze File einlesen eh nicht 100% CPU sondern eher 100% Pladde brauchen...
BTW, hier eine kleine Interessante Erweiterung:
Code: Alles auswählen
;PureBasic 4.3
;counts every line of specified files in subdirectories
;...just for fun
Global GStartDir.s = PathRequester("Ordner wählen...","")
If GStartDir = "" : End: EndIf
Global GSearchPattern.s = "|pb|pbi|"
Global ClipBoardText.s
Global GFileCount.l, GLineCount.l, GDirCount.l
Global NewList Lines()
Procedure _FilzDir(dir.s)
If Right(dir,1)<>""
dir+""
EndIf
;PrintN(dir)
ExId = ExamineDirectory(#PB_Any,dir,"*.*")
If ExId
GDirCount+1
While NextDirectoryEntry(ExId)
d$=DirectoryEntryName(ExId)
If DirectoryEntryType(ExId) = #PB_DirectoryEntry_File ; --------- file
If FindString(GSearchPattern,"|"+GetExtensionPart(d$)+"|",1)
;PrintN(d$)
GFileCount+1
fhndl=OpenFile(#PB_Any,dir+d$)
If fhndl
GLinePerFileCount = 0
While Eof(fhndl)=0
ReadString(fhndl)
GLineCount+1
GLinePerFileCount+1
Wend
AddElement(Lines())
Lines() = GLinePerFileCount
CloseFile(fhndl)
EndIf
EndIf
ElseIf d$ <> "." And d$ <> ".." ; --------- directory
_FilzDir(dir+d$)
EndIf
Wend
FinishDirectory(ExId)
EndIf
;Delay(1) ;concession
EndProcedure
Procedure PrintN1(text$)
PrintN(text$)
ClipBoardText+text$+Chr(10)
EndProcedure
If OpenConsole()
_FilzDir(GStartDir)
PrintN("")
PrintN1("Total files: "+Str(GFileCount))
PrintN1("Total lines: "+Str(GLineCount))
PrintN1("Total dirs: "+Str(GDirCount))
PrintN1("---")
PrintN1("Arithmetischen Mittel: "+StrF(GLineCount/GFileCount,1)+" L/F")
SortList(Lines(),#PB_Sort_Ascending)
If ListSize(Lines())%2 = 0
SelectElement(Lines(),ListSize(Lines())/2)
el1 = Lines()
SelectElement(Lines(),ListSize(Lines())/2+1)
el2 = Lines()
median = (el1+el2)/2
Else
SelectElement(Lines(),Round(ListSize(Lines())/2,1))
median = Lines()
EndIf
PrintN1("Median: "+Str(median)+" L/F")
PrintN("")
PrintN("Press enter...")
SetClipboardText(ClipBoardText)
Input()
EndIf
End
Total files: 723
Total lines: 115568
Total dirs: 290
---
Arithmetischen Mittel: 159.8 L/F
Median: 84 L/F
Verfasst: 04.04.2009 13:31
von Kevin
Total files: 692
Total lines: 2134289
Total bytes: 39428761
Total dirs: 413
---
Arithmetischen Mittel: 3084.2 L/F
Median: 443 L/F
Verfasst: 04.04.2009 15:48
von RSBasic
Total files: 4423
Total lines: 361912