Clément Krebs 5 lat temu
rodzic
commit
9565aa0af4

BIN
acceder_mem_appro.png


BIN
acceder_tps_appro.png


+ 13 - 0
appronfondie.sh

@@ -0,0 +1,13 @@
+#!/bin/bash
+
+prog="./out/artifacts/P4a_jar/P4a.jar"
+
+echo -e "Structure\tOperation\tn\tTemps\tMem"
+for n in $(seq 100000 50000 5000000) ; do
+    for struct in arraylist vector ; do
+        for op in remplir acceder ; do
+                time=$(/bin/time -f "%U\t%M" java -jar $prog $struct $op $n 2>&1)
+                echo -e "$struct\t$op\t$n\t$time"
+         done
+     done
+ done

+ 397 - 0
perf_hypothese.dat

@@ -0,0 +1,397 @@
+Structure	Operation	n	Temps	Mem
+arraylist	remplir	100000	0.09	56984
+arraylist	acceder	100000	0.12	58888
+vector	remplir	100000	0.11	57504
+vector	acceder	100000	0.12	59544
+arraylist	remplir	150000	0.10	57192
+arraylist	acceder	150000	0.12	57416
+vector	remplir	150000	0.12	60524
+vector	acceder	150000	0.15	56568
+arraylist	remplir	200000	0.10	57108
+arraylist	acceder	200000	0.13	57800
+vector	remplir	200000	0.13	59384
+vector	acceder	200000	0.14	58448
+arraylist	remplir	250000	0.11	59212
+arraylist	acceder	250000	0.14	63080
+vector	remplir	250000	0.14	57576
+vector	acceder	250000	0.16	65724
+arraylist	remplir	300000	0.11	62076
+arraylist	acceder	300000	0.13	66472
+vector	remplir	300000	0.12	61496
+vector	acceder	300000	0.19	64724
+arraylist	remplir	350000	0.12	61256
+arraylist	acceder	350000	0.16	61528
+vector	remplir	350000	0.14	67668
+vector	acceder	350000	0.17	66404
+arraylist	remplir	400000	0.11	69680
+arraylist	acceder	400000	0.16	67432
+vector	remplir	400000	0.13	66060
+vector	acceder	400000	0.17	65700
+arraylist	remplir	450000	0.11	69192
+arraylist	acceder	450000	0.15	74684
+vector	remplir	450000	0.14	66964
+vector	acceder	450000	0.19	68980
+arraylist	remplir	500000	0.12	74612
+arraylist	acceder	500000	0.17	71620
+vector	remplir	500000	0.12	68032
+vector	acceder	500000	0.19	72920
+arraylist	remplir	550000	0.12	73596
+arraylist	acceder	550000	0.17	79004
+vector	remplir	550000	0.14	66128
+vector	acceder	550000	0.20	71292
+arraylist	remplir	600000	0.13	74028
+arraylist	acceder	600000	0.17	75752
+vector	remplir	600000	0.14	67992
+vector	acceder	600000	0.21	73080
+arraylist	remplir	650000	0.12	73984
+arraylist	acceder	650000	0.19	79664
+vector	remplir	650000	0.13	75052
+vector	acceder	650000	0.19	69852
+arraylist	remplir	700000	0.12	80716
+arraylist	acceder	700000	0.17	77764
+vector	remplir	700000	0.14	80084
+vector	acceder	700000	0.22	80528
+arraylist	remplir	750000	0.11	73900
+arraylist	acceder	750000	0.19	77668
+vector	remplir	750000	0.14	85448
+vector	acceder	750000	0.18	81788
+arraylist	remplir	800000	0.10	77960
+arraylist	acceder	800000	0.21	82896
+vector	remplir	800000	0.14	78440
+vector	acceder	800000	0.22	83764
+arraylist	remplir	850000	0.12	86396
+arraylist	acceder	850000	0.20	91300
+vector	remplir	850000	0.13	80320
+vector	acceder	850000	0.22	80284
+arraylist	remplir	900000	0.11	89240
+arraylist	acceder	900000	0.20	88568
+vector	remplir	900000	0.14	87328
+vector	acceder	900000	0.23	80620
+arraylist	remplir	950000	0.12	93240
+arraylist	acceder	950000	0.21	89584
+vector	remplir	950000	0.15	84116
+vector	acceder	950000	0.23	83604
+arraylist	remplir	1000000	0.14	87932
+arraylist	acceder	1000000	0.21	91412
+vector	remplir	1000000	0.17	84116
+vector	acceder	1000000	0.24	82576
+arraylist	remplir	1050000	0.15	95120
+arraylist	acceder	1050000	0.22	90252
+vector	remplir	1050000	0.12	84432
+vector	acceder	1050000	0.24	91672
+arraylist	remplir	1100000	0.12	89864
+arraylist	acceder	1100000	0.20	92160
+vector	remplir	1100000	0.15	86440
+vector	acceder	1100000	0.24	86124
+arraylist	remplir	1150000	0.13	92480
+arraylist	acceder	1150000	0.22	94392
+vector	remplir	1150000	0.15	89332
+vector	acceder	1150000	0.25	84672
+arraylist	remplir	1200000	0.12	92144
+arraylist	acceder	1200000	0.23	98384
+vector	remplir	1200000	0.15	86468
+vector	acceder	1200000	0.25	84548
+arraylist	remplir	1250000	0.22	101000
+arraylist	acceder	1250000	0.30	103312
+vector	remplir	1250000	0.15	86676
+vector	acceder	1250000	0.27	90688
+arraylist	remplir	1300000	0.22	103008
+arraylist	acceder	1300000	0.31	103032
+vector	remplir	1300000	0.15	88592
+vector	acceder	1300000	0.25	95952
+arraylist	remplir	1350000	0.20	101024
+arraylist	acceder	1350000	0.32	104972
+vector	remplir	1350000	0.22	106240
+vector	acceder	1350000	0.33	101560
+arraylist	remplir	1400000	0.23	105148
+arraylist	acceder	1400000	0.30	101148
+vector	remplir	1400000	0.25	107200
+vector	acceder	1400000	0.35	101532
+arraylist	remplir	1450000	0.23	110168
+arraylist	acceder	1450000	0.31	109128
+vector	remplir	1450000	0.23	101496
+vector	acceder	1450000	0.34	103432
+arraylist	remplir	1500000	0.23	107900
+arraylist	acceder	1500000	0.31	107568
+vector	remplir	1500000	0.24	105180
+vector	acceder	1500000	0.35	104828
+arraylist	remplir	1550000	0.22	112020
+arraylist	acceder	1550000	0.33	105128
+vector	remplir	1550000	0.23	107328
+vector	acceder	1550000	0.37	110396
+arraylist	remplir	1600000	0.23	111228
+arraylist	acceder	1600000	0.32	107368
+vector	remplir	1600000	0.25	108264
+vector	acceder	1600000	0.35	105864
+arraylist	remplir	1650000	0.23	110040
+arraylist	acceder	1650000	0.35	112328
+vector	remplir	1650000	0.24	107540
+vector	acceder	1650000	0.37	112752
+arraylist	remplir	1700000	0.21	107172
+arraylist	acceder	1700000	0.35	115380
+vector	remplir	1700000	0.23	108556
+vector	acceder	1700000	0.38	112516
+arraylist	remplir	1750000	0.23	108740
+arraylist	acceder	1750000	0.37	109552
+vector	remplir	1750000	0.25	110156
+vector	acceder	1750000	0.37	108736
+arraylist	remplir	1800000	0.22	115184
+arraylist	acceder	1800000	0.36	109308
+vector	remplir	1800000	0.27	114376
+vector	acceder	1800000	0.39	116580
+arraylist	remplir	1850000	0.29	125716
+arraylist	acceder	1850000	0.44	121776
+vector	remplir	1850000	0.27	107400
+vector	acceder	1850000	0.40	116984
+arraylist	remplir	1900000	0.29	121900
+arraylist	acceder	1900000	0.44	121528
+vector	remplir	1900000	0.24	110948
+vector	acceder	1900000	0.39	111908
+arraylist	remplir	1950000	0.27	130504
+arraylist	acceder	1950000	0.43	123848
+vector	remplir	1950000	0.23	113244
+vector	acceder	1950000	0.41	111900
+arraylist	remplir	2000000	0.30	125552
+arraylist	acceder	2000000	0.42	132804
+vector	remplir	2000000	0.26	111632
+vector	acceder	2000000	0.41	111828
+arraylist	remplir	2050000	0.31	128592
+arraylist	acceder	2050000	0.43	127756
+vector	remplir	2050000	0.26	118568
+vector	acceder	2050000	0.41	117760
+arraylist	remplir	2100000	0.28	127508
+arraylist	acceder	2100000	0.44	132780
+vector	remplir	2100000	0.27	116456
+vector	acceder	2100000	0.43	117524
+arraylist	remplir	2150000	0.26	130628
+arraylist	acceder	2150000	0.44	132668
+vector	remplir	2150000	0.25	116416
+vector	acceder	2150000	0.41	113688
+arraylist	remplir	2200000	0.27	127840
+arraylist	acceder	2200000	0.43	130296
+vector	remplir	2200000	0.24	118648
+vector	acceder	2200000	0.46	115620
+arraylist	remplir	2250000	0.29	129516
+arraylist	acceder	2250000	0.45	133348
+vector	remplir	2250000	0.28	120588
+vector	acceder	2250000	0.39	117656
+arraylist	remplir	2300000	0.29	127768
+arraylist	acceder	2300000	0.45	131244
+vector	remplir	2300000	0.27	115736
+vector	acceder	2300000	0.43	120544
+arraylist	remplir	2350000	0.29	131948
+arraylist	acceder	2350000	0.46	133788
+vector	remplir	2350000	0.26	116004
+vector	acceder	2350000	0.46	122692
+arraylist	remplir	2400000	0.28	134720
+arraylist	acceder	2400000	0.48	130052
+vector	remplir	2400000	0.25	117512
+vector	acceder	2400000	0.46	119960
+arraylist	remplir	2450000	0.29	131508
+arraylist	acceder	2450000	0.49	131840
+vector	remplir	2450000	0.26	121504
+vector	acceder	2450000	0.48	119724
+arraylist	remplir	2500000	0.30	135796
+arraylist	acceder	2500000	0.48	135808
+vector	remplir	2500000	0.28	121604
+vector	acceder	2500000	0.44	122864
+arraylist	remplir	2550000	0.30	138800
+arraylist	acceder	2550000	0.47	137956
+vector	remplir	2550000	0.24	121716
+vector	acceder	2550000	0.48	121760
+arraylist	remplir	2600000	0.30	134108
+arraylist	acceder	2600000	0.50	140812
+vector	remplir	2600000	0.28	124588
+vector	acceder	2600000	0.49	128784
+arraylist	remplir	2650000	0.30	140800
+arraylist	acceder	2650000	0.49	137708
+vector	remplir	2650000	0.34	144780
+vector	acceder	2650000	0.56	154192
+arraylist	remplir	2700000	0.30	135868
+arraylist	acceder	2700000	0.49	137896
+vector	remplir	2700000	0.39	152620
+vector	acceder	2700000	0.56	147092
+arraylist	remplir	2750000	0.36	154180
+arraylist	acceder	2750000	0.65	156924
+vector	remplir	2750000	0.37	146832
+vector	acceder	2750000	0.61	152180
+arraylist	remplir	2800000	0.41	156292
+arraylist	acceder	2800000	0.63	154540
+vector	remplir	2800000	0.38	148952
+vector	acceder	2800000	0.60	153852
+arraylist	remplir	2850000	0.41	156488
+arraylist	acceder	2850000	0.62	158700
+vector	remplir	2850000	0.35	150760
+vector	acceder	2850000	0.63	157932
+arraylist	remplir	2900000	0.39	159388
+arraylist	acceder	2900000	0.62	156796
+vector	remplir	2900000	0.38	152692
+vector	acceder	2900000	0.62	158100
+arraylist	remplir	2950000	0.42	157928
+arraylist	acceder	2950000	0.63	156424
+vector	remplir	2950000	0.39	152656
+vector	acceder	2950000	0.63	152868
+arraylist	remplir	3000000	0.43	163532
+arraylist	acceder	3000000	0.65	162776
+vector	remplir	3000000	0.39	152844
+vector	acceder	3000000	0.61	157760
+arraylist	remplir	3050000	0.41	158724
+arraylist	acceder	3050000	0.66	162856
+vector	remplir	3050000	0.39	153980
+vector	acceder	3050000	0.63	155940
+arraylist	remplir	3100000	0.41	158696
+arraylist	acceder	3100000	0.65	158784
+vector	remplir	3100000	0.40	154896
+vector	acceder	3100000	0.60	157072
+arraylist	remplir	3150000	0.43	160348
+arraylist	acceder	3150000	0.64	160564
+vector	remplir	3150000	0.40	157828
+vector	acceder	3150000	0.63	157152
+arraylist	remplir	3200000	0.40	158512
+arraylist	acceder	3200000	0.66	161044
+vector	remplir	3200000	0.39	152844
+vector	acceder	3200000	0.64	154988
+arraylist	remplir	3250000	0.41	164476
+arraylist	acceder	3250000	0.66	167928
+vector	remplir	3250000	0.38	161800
+vector	acceder	3250000	0.67	157224
+arraylist	remplir	3300000	0.40	163996
+arraylist	acceder	3300000	0.67	166812
+vector	remplir	3300000	0.40	155168
+vector	acceder	3300000	0.65	159884
+arraylist	remplir	3350000	0.43	160700
+arraylist	acceder	3350000	0.70	169960
+vector	remplir	3350000	0.38	163924
+vector	acceder	3350000	0.68	163108
+arraylist	remplir	3400000	0.41	164628
+arraylist	acceder	3400000	0.67	164640
+vector	remplir	3400000	0.40	160064
+vector	acceder	3400000	0.66	165144
+arraylist	remplir	3450000	0.40	162612
+arraylist	acceder	3450000	0.71	164736
+vector	remplir	3450000	0.40	162892
+vector	acceder	3450000	0.63	161284
+arraylist	remplir	3500000	0.43	166620
+arraylist	acceder	3500000	0.70	169732
+vector	remplir	3500000	0.40	162872
+vector	acceder	3500000	0.71	159096
+arraylist	remplir	3550000	0.44	164768
+arraylist	acceder	3550000	0.72	168944
+vector	remplir	3550000	0.39	159148
+vector	acceder	3550000	0.70	162284
+arraylist	remplir	3600000	0.42	166776
+arraylist	acceder	3600000	0.72	166912
+vector	remplir	3600000	0.37	160784
+vector	acceder	3600000	0.67	162988
+arraylist	remplir	3650000	0.45	173624
+arraylist	acceder	3650000	0.71	168612
+vector	remplir	3650000	0.41	164884
+vector	acceder	3650000	0.72	170312
+arraylist	remplir	3700000	0.42	170820
+arraylist	acceder	3700000	0.71	167276
+vector	remplir	3700000	0.40	164636
+vector	acceder	3700000	0.70	164280
+arraylist	remplir	3750000	0.42	170924
+arraylist	acceder	3750000	0.72	168972
+vector	remplir	3750000	0.39	165388
+vector	acceder	3750000	0.71	167224
+arraylist	remplir	3800000	0.45	176064
+arraylist	acceder	3800000	0.71	173908
+vector	remplir	3800000	0.41	165024
+vector	acceder	3800000	0.67	170168
+arraylist	remplir	3850000	0.42	173776
+arraylist	acceder	3850000	0.74	173260
+vector	remplir	3850000	0.36	165088
+vector	acceder	3850000	0.67	170276
+arraylist	remplir	3900000	0.43	173056
+arraylist	acceder	3900000	0.74	177976
+vector	remplir	3900000	0.42	167000
+vector	acceder	3900000	0.73	169092
+arraylist	remplir	3950000	0.44	174128
+arraylist	acceder	3950000	0.74	173000
+vector	remplir	3950000	0.40	166936
+vector	acceder	3950000	0.72	167232
+arraylist	remplir	4000000	0.44	171224
+arraylist	acceder	4000000	0.76	173332
+vector	remplir	4000000	0.39	167048
+vector	acceder	4000000	0.76	171380
+arraylist	remplir	4050000	0.45	176176
+arraylist	acceder	4050000	0.78	175156
+vector	remplir	4050000	0.41	170908
+vector	acceder	4050000	0.75	169440
+arraylist	remplir	4100000	0.42	173044
+arraylist	acceder	4100000	0.80	177292
+vector	remplir	4100000	0.41	172120
+vector	acceder	4100000	0.77	169124
+arraylist	remplir	4150000	0.58	202628
+arraylist	acceder	4150000	0.93	206788
+vector	remplir	4150000	0.40	173140
+vector	acceder	4150000	0.74	176244
+arraylist	remplir	4200000	0.58	201660
+arraylist	acceder	4200000	0.93	201808
+vector	remplir	4200000	0.42	173096
+vector	acceder	4200000	0.77	173612
+arraylist	remplir	4250000	0.60	201916
+arraylist	acceder	4250000	0.94	204868
+vector	remplir	4250000	0.40	173172
+vector	acceder	4250000	0.77	176416
+arraylist	remplir	4300000	0.61	203924
+arraylist	acceder	4300000	0.97	205252
+vector	remplir	4300000	0.43	175228
+vector	acceder	4300000	0.78	176520
+arraylist	remplir	4350000	0.62	208856
+arraylist	acceder	4350000	0.96	205692
+vector	remplir	4350000	0.43	173188
+vector	acceder	4350000	0.78	171416
+arraylist	remplir	4400000	0.62	208684
+arraylist	acceder	4400000	0.97	206880
+vector	remplir	4400000	0.42	175452
+vector	acceder	4400000	0.79	175192
+arraylist	remplir	4450000	0.61	208008
+arraylist	acceder	4450000	0.98	209816
+vector	remplir	4450000	0.41	180164
+vector	acceder	4450000	0.78	177228
+arraylist	remplir	4500000	0.61	204056
+arraylist	acceder	4500000	0.99	210980
+vector	remplir	4500000	0.42	180328
+vector	acceder	4500000	0.80	182520
+arraylist	remplir	4550000	0.60	208868
+arraylist	acceder	4550000	0.99	208972
+vector	remplir	4550000	0.47	177568
+vector	acceder	4550000	0.79	182532
+arraylist	remplir	4600000	0.57	208092
+arraylist	acceder	4600000	1.04	212964
+vector	remplir	4600000	0.45	180172
+vector	acceder	4600000	0.83	181528
+arraylist	remplir	4650000	0.66	207752
+arraylist	acceder	4650000	1.03	206204
+vector	remplir	4650000	0.47	179352
+vector	acceder	4650000	0.83	177840
+arraylist	remplir	4700000	0.62	212816
+arraylist	acceder	4700000	1.03	211956
+vector	remplir	4700000	0.46	179128
+vector	acceder	4700000	0.86	183724
+arraylist	remplir	4750000	0.62	215036
+arraylist	acceder	4750000	1.02	211192
+vector	remplir	4750000	0.50	181376
+vector	acceder	4750000	0.88	181668
+arraylist	remplir	4800000	0.59	209780
+arraylist	acceder	4800000	1.00	208308
+vector	remplir	4800000	0.48	182828
+vector	acceder	4800000	0.87	182960
+arraylist	remplir	4850000	0.61	212336
+arraylist	acceder	4850000	1.04	214208
+vector	remplir	4850000	0.52	181324
+vector	acceder	4850000	0.89	181528
+arraylist	remplir	4900000	0.62	213280
+arraylist	acceder	4900000	1.03	217196
+vector	remplir	4900000	0.48	179480
+vector	acceder	4900000	0.88	183460
+arraylist	remplir	4950000	0.64	216892
+arraylist	acceder	4950000	1.05	216240
+vector	remplir	4950000	0.45	185536
+vector	acceder	4950000	0.88	190672
+arraylist	remplir	5000000	0.62	212184
+arraylist	acceder	5000000	1.06	217072
+vector	remplir	5000000	0.50	183884
+vector	acceder	5000000	0.90	188744

+ 16 - 0
plot_approfondie.r

@@ -0,0 +1,16 @@
+library(ggplot2)
+
+d <- read.table("perf_hypothese2.dat", header=TRUE, fill=TRUE)
+
+listOPs <- c("acceder", "remplir")
+listStructs <- c("arraylist", "vector")
+for (operation in listOPs) {
+        ggplot(d[d$Operation == operation ,], aes(x=n, y=Temps, color=Structure)) + geom_smooth() +
+            ggtitle(operation) + xlab("Nombre d'éléments") + ylab("Temps d'exécution") +
+            theme(plot.title = element_text(hjust = 0.5)) + facet_grid(Structure ~ Operation)
+        ggsave(paste(operation, "_tps_appro2.png", sep=""))
+        ggplot(d[d$Operation == operation ,], aes(x=n, y=Mem, color=Structure)) + geom_smooth() +
+            ggtitle(operation) + xlab("Nombre d'éléments") + ylab("Consommation mémoire") +
+            theme(plot.title = element_text(hjust = 0.5)) + facet_grid(Structure ~ Operation)
+        ggsave(paste(operation, "_mem_appro2.png", sep=""))
+}

BIN
remplir_mem_appro.png


BIN
remplir_tps_appro.png