W dniu 2015-11-10 o 09:47, Jacek W. pisze:
Jest sobie program, który na podstawie bazy danych o towarach generuje
plik CSV na potrzeby aktualizacji strony wwww.
W trakcie generacji program sprawdza istnienie ok. 20 tys. plików z
obrazkami oraz przetwarza ok. 9 tys. małych plików z dodatkowymi opisami
dla każdego towaru. Wszystko pięknie i ładnie, tylko dlaczego cały ten
proces trwa na XP ok. 25-35 sekund, a na Win 7/8/10 nie mniej niż 300
sekund.
Sprawdzałem to na tej samej fizycznej maszynie ze wszystkimi
wymienionymi systemami.
Podejrzewam, że 7/8/10 w inny sposób realizują dostęp do pliku niż XP.
Czy dobrze podejrzewam - czy da się to jakoś obejść, zmienić, poprawić?
Sprawa wygląda tak, że problematyczną okazała się procedura wczytywania
pliku tekstowego do bazy DBF (append from ... sdf) powtarzana tysiące
razy w połączeniu z bardzo długimi polami tegoż DBF-a. Ta kombinacja
(nie wiem dlaczego) pod XP działa bez zarzutów, a pod 7/8/10 spowalnia
prawie 10-ktotnie.
Nie dociekałem dalej co i jak - przerobiłem ten blok programu i już jest
normalnie pod każdym systemem.
Jacek W.
|