Seite 1 von 4

Langsamer PB Compiler wegen USB

Verfasst: 19.10.2005 00:32
von zigapeda
Hi

mir ist erst die geniale Idee gekommen, auch in der arbeit mit PB zu programmieren. Da wir 1. nichts auf den Computern Installieren dürfen und 2. auch von PB her (also von der lizens), würde das IMHO nicht erlaubt sein weil den computer darf jeder benutzen der bei uns in der Ausbildungswerkstatt ist, hab ich PB mit allen dateien die ich brauch auf meinen USB stick gespeichert (das ist doch hoffentlich erlaubt oder?).
Wenn ich jetzt die PB IDE an dem computer startet fällt als erstes auf das die schön länger zum laden braucht als normal. Jetzt will ich aber einen Code compilieren und war erstaund das die paar zeilen (zum testen eine kleine consolenanwendung mit 4 zeilen) schon fast 2 minuten zum compilieren gebraucht haben. An der geschwindigkeit von den USB ports kann es aber nicht wirklich liegen, weil wenn ich pb auf die festplatte zieh, geht es schneller als das compilieren.
Hat jemand ne ahnung was ich machen kann?

Verfasst: 19.10.2005 00:48
von redacid
Ich kann es gerade nicht testen, da ich 1. keinen USB-Stick und 2. keinen PC zur Hand hab :wink: , aber du solltest bedenken, dass der USB 1.1-Port nur knapp 1MB pro Sekunde übertragen kann. Sollte also der Port im Computer oder der USB-Stick selber nicht USB 2.0-fähig sein, wird es vermutlich daran liegen.

Was die Benutzung des Compilers von einem USB-Stick betrifft, vermute ich mal, dass es mit den Lizenzbestimmungen vereinbar ist. Wenn du sicher gehen willst, fragst du aber am besten einfach Fred.

Verfasst: 19.10.2005 00:57
von ts-soft
Die Firma solltest Du auch um Erlaubnis fragen, bevor ein Admin die Registry-Einträge von PureBasic entdeckt! Sowas kann eine Kündigung hervorrufen

Verfasst: 19.10.2005 01:00
von zigapeda
erstmal danke für die schnelle antwort.
die kompleten 18 MB auf die festplatte ziehen geht innerhalb einer minute.
das compilieren der 4 zeilen dauert länger.
OK ich versuch mal fred zu fragen, im irc wird man ihn bestimmt mal treffen.
[Edit]@ts-soft unser computeradmin entdeckt keine registryeinträge, das einzigste was der kann ist das admin-pw eingeben und uns zuschauen wie wir die pcs einrichten^^ (aber trotzdem danke für den hinweiß)
und da die pcs sowieso des öfteren formatiert werden (für ausbildungszwecke)...[/Edit]

Verfasst: 19.10.2005 01:04
von ts-soft
Kannste Dir ja auch ein Skript oder Programm schreiben, um diese zu löschen :wink:

Verfasst: 19.10.2005 01:14
von zigapeda
Ja, geht aber nur wenn ich weiß, wo sich die eintragen und wie ich sie löschen kann^^

Verfasst: 19.10.2005 01:24
von ts-soft
zigapeda hat geschrieben:Ja, geht aber nur wenn ich weiß, wo sich die eintragen und wie ich sie löschen kann^^
Das ist ja kein Problem :wink:

Code: Alles auswählen

Procedure Reg_DeleteKey(topKey, sKeyName.s, ComputerName.s) 
  
  If Left(sKeyName, 1) = "" 
    sKeyName = Right(sKeyName, Len(sKeyName) - 1) 
  EndIf 
  
  If ComputerName = "" 
    GetHandle = RegDeleteKey_(topKey, @sKeyName) 
  Else 
    lReturnCode = RegConnectRegistry_(ComputerName, topKey, @lhRemoteRegistry) 
    GetHandle = RegDeleteKey_(lhRemoteRegistry, @sKeyName) 
  EndIf 
  
  If GetHandle = #ERROR_SUCCESS 
    DeleteKey = #True 
  Else 
    DeleteKey = #False 
  EndIf 
  ProcedureReturn DeleteKey 
EndProcedure 
Procedure.s Reg_ListSubValue(topKey, sKeyName.s, Index, ComputerName.s) 
  lpName.s 
  lpftLastWriteTime.FILETIME 
  ListSubValue.s 
  
  If Left(sKeyName, 1) = "" 
    sKeyName = Right(sKeyName, Len(sKeyName) - 1) 
  EndIf 
  
  If ComputerName = "" 
    GetHandle = RegOpenKeyEx_(topKey, sKeyName, 0, #KEY_ALL_ACCESS, @hKey) 
  Else 
    lReturnCode = RegConnectRegistry_(ComputerName, topKey, @lhRemoteRegistry) 
    GetHandle = RegOpenKeyEx_(lhRemoteRegistry, sKeyName, 0, #KEY_ALL_ACCESS, @hKey) 
  EndIf 
  
  
  If GetHandle = #ERROR_SUCCESS 
    lpcbName = 255 
    lpName = Space(255) 
    
    GetHandle = RegEnumValue_(hKey, Index, @lpName, @lpcbName, 0, 0, 0, 0) 
    
    If GetHandle = #ERROR_SUCCESS 
      ListSubValue = Left(lpName, lpcbName) 
    Else 
      ListSubValue = "" 
    EndIf 
    RegCloseKey_(hKey) 
  EndIf 
  ProcedureReturn ListSubValue 
EndProcedure 
Procedure Reg_DeleteKeyWithAllSub(topKey,sKeyName.s,ComputerName.s)
  i=0
  a$=""
  Repeat
    b$=a$
    a$=Reg_ListSubKey(topKey,sKeyName,0,"")
    If a$<>""
      Reg_DeleteKeyWithAllSub(topKey,sKeyName+""+a$,"")
    EndIf
  Until a$=b$
  Reg_DeleteKey(topKey, sKeyName, ComputerName) 
EndProcedure
Procedure DeletePBSpuren()
  If GetVersion_() & $FF0000
    Reg_DeleteKeyWithAllSub(#HKEY_CLASSES_ROOT, "Applications\PureBasic.exe","")
  Else
    Reg_DeleteKeyWithAllSub(#HKEY_LOCAL_MACHINE, "Software\Classes\PureBasic.exe","")
  EndIf
EndProcedure

DeletePBSpuren()
Aber bitte vorher testen!!!! :wink:

Verfasst: 19.10.2005 03:07
von nicolaus
ts-soft hat geschrieben:
zigapeda hat geschrieben:Ja, geht aber nur wenn ich weiß, wo sich die eintragen und wie ich sie löschen kann^^
Das ist ja kein Problem :wink:
...
Aber bitte vorher testen!!!! :wink:
Also ts-soft du hilfst hier schülern ne illegale handlung auf nem schulcompo zu verwirklichen :? nee nee nee sowas macht man doch nich :mrgreen:

Verfasst: 19.10.2005 09:13
von ts-soft
Ich wollte ihm ja nur zeigen, das wenn man seine Bausteine, ordentlich verwaltet, solche Probleme in wenigen Minuten gelöst sind.
Ich hoffe er begeht jetzt keine illegalen Handlungen und ich bn Schuld :?

Verfasst: 19.10.2005 12:02
von redacid
zigapeda hat geschrieben:erstmal danke für die schnelle antwort.
die kompleten 18 MB auf die festplatte ziehen geht innerhalb einer minute.
das compilieren der 4 zeilen dauert länger.
18 MB "innerhalb einer Minute". Das hört sich schwer nach USB 1.1 an. Ich würde mich da tatsächlich nicht drüber wundern.