Vím, že je to už naprosto mimo téma, ale zajímalo mně to a možná to zajímá i někoho jiného.
Zkusil jsem otestovat 3 typy načtení csv souboru o různých počtech řádků (počet řádků je v názvu souboru) a 6 sloupcích.
FileSystem - načtení pomocí fso viz kód výše, ještě jsem jej mírně optimalizoval.
OpenCLose - otevření souboru csv, načtení dat a zavření souboru
QueryTable - načtení dat pomocí QueryTable s vytvořením dočasného listu
Časy jsou v sekundách
Ve všech třech metodách pouze načtu data do pole a tím kód končí (data v poli jsou připravena k vložení). Je krásně vidět, že fso není vůbec ovlivněno otevřením dalších souborů a získává si mé sympatie. Jsem překvapen, že mu nedělá problém ani 28MB soubor.
Otevřen pouze soubor, kde je spuštěn kód
#No FileName FileSize FileSystem OpenClose QueryTable
1 CSV001000.csv 38kB 0,016 0,152 0,102
2 CSV010000.csv 416kB 0,152 0,234 0,266
3 CSV017000.csv 737kB 0,258 0,328 0,402
4 CSV035625.csv 1 592kB 0,543 0,445 0,766
5 CSV071250.csv 3 227kB 1,066 0,789 1,438
6 CSV142500.csv 6 663kB 2,164 1,477 2,879
7 CSV285000.csv 13 760kB 4,391 3,105 5,824
8 CSV570000.csv 27 955kB 9,930 6,809 11,930Otevřen soubor, kde je spuštěn kód a soubor, který obsahuje tisíce výpočtů, ale žádné externí propojení:
#No FileName FileSize FileSystem OpenClose QueryTable
1 CSV001000.csv 38kB 0,016 0,586 0,113
2 CSV010000.csv 416kB 0,152 0,672 0,277
3 CSV017000.csv 737kB 0,258 0,734 0,410
4 CSV035625.csv 1 592kB 0,535 0,906 0,770
5 CSV071250.csv 3 227kB 1,070 1,223 1,465
6 CSV142500.csv 6 663kB 2,164 1,902 2,863
7 CSV285000.csv 13 760kB 4,531 3,504 5,727
8 CSV570000.csv 27 955kB 9,875 7,199 11,836Otevřen soubor, kde je spuštěn kód a soubor, který obsahuje tisíce výpočtů a navíc tisíce externích propojení:
#No FileName FileSize FileSystem OpenClose QueryTable
1 CSV001000.csv 38kB 0,016 1,531 0,266
2 CSV010000.csv 416kB 0,148 1,594 0,426
3 CSV017000.csv 737kB 0,258 1,633 0,559
4 CSV035625.csv 1 592kB 0,531 1,770 0,926
5 CSV071250.csv 3 227kB 1,063 2,086 1,637
6 CSV142500.csv 6 663kB 2,180 2,820 3,094
7 CSV285000.csv 13 760kB 4,328 4,391 6,219
8 CSV570000.csv 27 955kB 9,949 8,156 12,102Otevřen soubor, kde je spuštěn kód, soubor, který obsahuje tisíce výpočtů a navíc tisíce externích propojení a ještě další obrovský soubor s výpočty a kontingenčními tabulkami:
#No FileName FileSize FileSystem OpenClose QueryTable
1 CSV001000.csv 38kB 0,012 1,629 2,148
2 CSV010000.csv 416kB 0,148 1,742 2,309
3 CSV017000.csv 737kB 0,258 1,816 2,449
4 CSV035625.csv 1 592kB 0,539 1,980 2,801
5 CSV071250.csv 3 227kB 1,066 2,328 3,520
6 CSV142500.csv 6 663kB 2,184 2,988 4,887
7 CSV285000.csv 13 760kB 4,340 4,570 7,930
8 CSV570000.csv 27 955kB 9,910 8,301 13,801citovat