Don't click here unless you want to be banned.

LSL Wiki : EscortDeFarge

HomePage :: PageIndex :: RecentChanges :: RecentlyCommented :: UserSettings :: You are crawl805.us.archive.org

Performance

A few tests I've run in-world to resolve some apparently unresolved performance "mantra". Below is the raw, unformatted data from the tests I have run so far.

The for loop "Declare or Embed" length question

OUTCOME: Always pre-declare the length test value used in a loop
Declaring the test length in advance is about twice as fast for short lists, and 3 to 7 times faster for longer lists (100 entries).
Note that a list of keys reports as string entries from llGetListEntryType() but is slower than a string list...

CODE SPEED: TEST STARTING...
CODE SPEED: Test: "DECLARED versus EMBEDDED" FOR LOOP length for INTEGER list
CODE SPEED: len: 10, dec:0.047499, emb:0.099957, ratio:210.442520%]
CODE SPEED: len: 20, dec:0.099807, emb:0.202942, ratio:203.334763%]
CODE SPEED: len: 30, dec:0.151525, emb:0.347572, ratio:229.382065%]
CODE SPEED: len: 40, dec:0.202348, emb:0.447297, ratio:221.053650%]
CODE SPEED: len: 50, dec:0.250969, emb:0.596845, ratio:237.816162%]
CODE SPEED: len: 60, dec:0.298086, emb:0.850226, ratio:285.228394%]
CODE SPEED: len: 70, dec:0.302277, emb:1.099911, ratio:363.875549%]
CODE SPEED: len: 80, dec:0.350952, emb:1.199566, ratio:341.803253%]
CODE SPEED: len: 90, dec:0.402557, emb:1.348515, ratio:334.986938%]
CODE SPEED: len: 100, dec:0.448704, emb:1.653826, ratio:368.578522%]
CODE SPEED: Totals INTEGER [dec:2.554724, emb:7.846657, ratio:307.143066%]
CODE SPEED: Test: "DECLARED versus EMBEDDED" FOR LOOP length for FLOAT list
CODE SPEED: len: 10, dec:0.055344, emb:0.097996, ratio:177.067825%]
CODE SPEED: len: 20, dec:0.101868, emb:0.197647, ratio:194.023376%]
CODE SPEED: len: 30, dec:0.151175, emb:0.299381, ratio:198.036819%]
CODE SPEED: len: 40, dec:0.198324, emb:0.500538, ratio:252.383667%]
CODE SPEED: len: 50, dec:0.202280, emb:0.650043, ratio:321.358185%]
CODE SPEED: len: 60, dec:0.249590, emb:0.853241, ratio:341.857147%]
CODE SPEED: len: 70, dec:0.302925, emb:1.049141, ratio:346.336731%]
CODE SPEED: len: 80, dec:0.348734, emb:1.149652, ratio:329.664673%]
CODE SPEED: len: 90, dec:0.399689, emb:1.399565, ratio:350.163666%]
CODE SPEED: len: 100, dec:0.450577, emb:1.701090, ratio:377.536072%]
CODE SPEED: Totals FLOAT [dec:2.460505, emb:7.898294, ratio:321.003052%]
CODE SPEED: Test: "DECLARED versus EMBEDDED" FOR LOOP length for STRING list
CODE SPEED: len: 10, dec:0.048222, emb:0.099987, ratio:207.349106%]
CODE SPEED: len: 20, dec:0.100124, emb:0.201248, ratio:200.998215%]
CODE SPEED: len: 30, dec:0.148354, emb:0.402443, ratio:271.272827%]
CODE SPEED: len: 40, dec:0.148129, emb:0.598503, ratio:404.043152%]
CODE SPEED: len: 50, dec:0.251381, emb:0.851433, ratio:338.702240%]
CODE SPEED: len: 60, dec:0.253059, emb:1.047123, ratio:413.785461%]
CODE SPEED: len: 70, dec:0.348778, emb:1.298180, ratio:372.208252%]
CODE SPEED: len: 80, dec:0.350639, emb:1.698090, ratio:484.283813%]
CODE SPEED: len: 90, dec:0.397018, emb:1.949520, ratio:491.040192%]
CODE SPEED: len: 100, dec:0.502796, emb:2.298447, ratio:457.132874%]
CODE SPEED: Totals STRING [dec:2.548500, emb:10.444973, ratio:409.847870%]
CODE SPEED: Test: "DECLARED versus EMBEDDED" FOR LOOP length for STRING list
CODE SPEED: len: 10, dec:0.050320, emb:0.102741, ratio:204.177094%]
CODE SPEED: len: 20, dec:0.101566, emb:0.248779, ratio:244.942719%]
CODE SPEED: len: 30, dec:0.151123, emb:0.449463, ratio:297.415192%]
CODE SPEED: len: 40, dec:0.202911, emb:0.699852, ratio:344.905243%]
CODE SPEED: len: 50, dec:0.248474, emb:0.999557, ratio:402.278320%]
CODE SPEED: len: 60, dec:0.296406, emb:1.302883, ratio:439.560608%]
CODE SPEED: len: 70, dec:0.351902, emb:1.749546, ratio:497.168549%]
CODE SPEED: len: 80, dec:0.350895, emb:2.098461, ratio:598.031189%]
CODE SPEED: len: 90, dec:0.447662, emb:2.403347, ratio:536.865967%]
CODE SPEED: len: 100, dec:0.451180, emb:3.198624, ratio:708.947021%]
CODE SPEED: Totals STRING [dec:2.652439, emb:13.253254, ratio:499.662872%]
CODE SPEED: Test: "DECLARED versus EMBEDDED" FOR LOOP length for VECTOR list
CODE SPEED: len: 10, dec:0.050201, emb:0.098831, ratio:196.869308%]
CODE SPEED: len: 20, dec:0.102470, emb:0.196869, ratio:192.122696%]
CODE SPEED: len: 30, dec:0.150154, emb:0.348518, ratio:232.107117%]
CODE SPEED: len: 40, dec:0.202423, emb:0.497818, ratio:245.929428%]
CODE SPEED: len: 50, dec:0.251953, emb:0.697105, ratio:276.680603%]
CODE SPEED: len: 60, dec:0.297684, emb:0.853096, ratio:286.578003%]
CODE SPEED: len: 70, dec:0.353378, emb:0.997223, ratio:282.196960%]
CODE SPEED: len: 80, dec:0.350838, emb:1.249763, ratio:356.222687%]
CODE SPEED: len: 90, dec:0.397057, emb:1.501396, ratio:378.131561%]
CODE SPEED: len: 100, dec:0.449142, emb:1.748734, ratio:389.349426%]
CODE SPEED: Totals VECTOR [dec:2.605301, emb:8.189354, ratio:314.334259%]
CODE SPEED: Test: "DECLARED versus EMBEDDED" FOR LOOP length for ROTATION list
CODE SPEED: len: 10, dec:0.049980, emb:0.100388, ratio:200.854828%]
CODE SPEED: len: 20, dec:0.102020, emb:0.199272, ratio:195.326050%]
CODE SPEED: len: 30, dec:0.200943, emb:0.300674, ratio:149.631714%]
CODE SPEED: len: 40, dec:0.198799, emb:0.500786, ratio:251.905441%]
CODE SPEED: len: 50, dec:0.199661, emb:0.749603, ratio:375.437531%]
CODE SPEED: len: 60, dec:0.300644, emb:0.850685, ratio:282.954376%]
CODE SPEED: len: 70, dec:0.299698, emb:1.100853, ratio:367.320923%]
CODE SPEED: len: 80, dec:0.402832, emb:1.298691, ratio:322.390137%]
CODE SPEED: len: 90, dec:0.452217, emb:1.550850, ratio:342.943665%]
CODE SPEED: len: 100, dec:0.449081, emb:1.852104, ratio:412.420563%]
CODE SPEED: Totals ROTATION [dec:2.655876, emb:8.503906, ratio:320.192108%]
CODE SPEED: TEST COMPLETE

On the "How To Increment" Question

OUTCOME: Post-Increment is a bit slower, but you are unlikely to ever notice the difference

CODE SPEED: TEST STARTING...
CODE SPEED: Test: "How to increment"
CODE SPEED: Results...
CODE SPEED: For 100 Iterations
CODE SPEED: [i=i+1] 0.399681
CODE SPEED: [i+=1] 0.398720
CODE SPEED: [i++] 0.400874
CODE SPEED: [++i] 0.398004
CODE SPEED: For 200 Iterations
CODE SPEED: [i=i+1] 0.750977
CODE SPEED: [i+=1] 0.750097
CODE SPEED: [i++] 0.847882
CODE SPEED: [++i] 0.749992
CODE SPEED: For 300 Iterations
CODE SPEED: [i=i+1] 1.052374
CODE SPEED: [i+=1] 1.147127
CODE SPEED: [i++] 1.247654
CODE SPEED: [++i] 1.151211
CODE SPEED: For 400 Iterations
CODE SPEED: [i=i+1] 1.447083
CODE SPEED: [i+=1] 1.447144
CODE SPEED: [i++] 1.751394
CODE SPEED: [++i] 1.453426
CODE SPEED: For 500 Iterations
CODE SPEED: [i=i+1] 1.848036
CODE SPEED: [i+=1] 1.800402
CODE SPEED: [i++] 2.150698
CODE SPEED: [++i] 1.848957
CODE SPEED: For 600 Iterations
CODE SPEED: [i=i+1] 2.201397
CODE SPEED: [i+=1] 2.149254
CODE SPEED: [i++] 2.651897
CODE SPEED: [++i] 2.198181
CODE SPEED: For 700 Iterations
CODE SPEED: [i=i+1] 2.600864
CODE SPEED: [i+=1] 2.550198
CODE SPEED: [i++] 3.003616
CODE SPEED: [++i] 2.550468
CODE SPEED: For 800 Iterations
CODE SPEED: [i=i+1] 2.950737
CODE SPEED: [i+=1] 2.900520
CODE SPEED: [i++] 3.400467
CODE SPEED: [++i] 2.897667
CODE SPEED: For 900 Iterations
CODE SPEED: [i=i+1] 3.251976
CODE SPEED: [i+=1] 3.293785
CODE SPEED: [i++] 3.900291
CODE SPEED: [++i] 3.247055
CODE SPEED: For 1000 Iterations
CODE SPEED: [i=i+1] 3.602173
CODE SPEED: [i+=1] 3.652168
CODE SPEED: [i++] 4.300713
CODE SPEED: [++i] 3.600365
CODE SPEED: TEST COMPLETE
Comments [Hide comments/form]
Attach a comment to this page: