c ++ - wxWidgets wxConfBase Skriv meget langsomt

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bruger wxConfBase til at gemme dataene i min tekstboks. (Windows)


config = new wxConfig(wxT("soft"));
    config->Write(wxT("COM"),temp\_port->GetValue());
    config->Write(wxT("SQL\_HOST"),mainset\_sql\_host->GetValue());
    config->Write(wxT("SQL\_DB"),mainset\_sql\_db->GetValue());
    config->Write(wxT("SQL\_LOGIN"),mainset\_sql\_login->GetValue());
    config->Write(wxT("SQL\_PASS"),mainset\_sql\_pass->GetValue());
  {.......}
delete config;


Jeg kalder det på min lukkende funktion.


Faktum er, at det er ekstremt langsomt, tager cirka 10 sekunder (programfryset) til at skrive omkring 20 param.


Jeg tror, ​​det er skrevet på min lokale disk, som jeg ikke har kunnet finde ud af, hvor fanden der er gemt, endda forsøger at bruge config-> SetPath.


Også adgangen til filerne på min computer synes ikke at være så langsomt ...


Også måske er der en mere effektiv måde end at bruge config-write.


Hvis nogen får en ide, tak.

Bedste reference


For givet navn 'soft':


Windows: wxConfig skriver til HKEY\_CURRENT\_USER \ Software \ soft.


Linux: wxConfig opretter skjult .soft-fil i hjemmemappen.


Ved hjælp af wxConfig i begge operativsystemer har jeg ikke haft problemer med ydeevne. Prøv at undersøge mere, og vide, hvor denne information er gemt.

Andre referencer 1


Du skal have en god debug-strategi. Prøv at minimere eksterne påvirkninger og lav et minimalt eksempel. Så prøv at finde ud af, hvor præcis programmet hænger. Er det virkelig config-stuff? Eller er det disse mainset\_sql\_ * forespørgsler?