---
title: "Lagra i variabler eller inte?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/asp/10219-lagra-i-variabler-eller-inte"
topic: "ASP"
topic_url: "https://www.webforum.nu/amne/asp"
author: "kristoffer"
published: "2001-06-23T18:10:00.000Z"
updated: "2001-06-24T08:16:00.000Z"
replies: 8
views: 233
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/asp/10219-lagra-i-variabler-eller-inte"
---

# Lagra i variabler eller inte?

## #1 — kristoffer, 2001-06-23T18:10Z

1. Är det någon prestandaskillnad mellan

   ```
   Response.Write(RecSet("id"))
   ```

   och

   ```
   id = RecSet("id")
   Response.Write(id)
   ```
2. Är det någon prestandaskillnad mellan att deklarera variabler och att inte göra det?

Permalänk: https://www.webforum.nu/p/10219

## #2 — Lukaspojken, 2001-06-23T18:18Z

Det borde vara det...jag undrade faktiskt över samma fråga idag...

Men det beror lite på användningen av variabeln tror jag...

Permalänk: https://www.webforum.nu/p/275741

## #3 — kristoffer, 2001-06-23T18:32Z

Jag sitter här och väntar på att @nders skall svara :e

Permalänk: https://www.webforum.nu/p/275742

## #4 — @nders, 2001-06-23T18:46Z

you called, sir? :e

alternativ 1 är att föredra, om det bara är en enkel utskrift. givetvis alternativ 2 om du ska använda värdet senare i koden. jag skulle dock gissa att prestandaskillnaden inte är så stor.

vad gäller din andra fråga skulle jag vilja svara **ja**, men eftersom jag inte kan motivera det på ett vettigt sätt så gör jag inte det. kanske vi ska skrika på de andra proffsen?

Permalänk: https://www.webforum.nu/p/275743

## #5 — kristoffer, 2001-06-23T18:59Z

Menar du att det isf blir en prestanda**ökning** när man deklarerar variabler?

Permalänk: https://www.webforum.nu/p/275744

## #6 — Erik Juhlin, 2001-06-23T19:05Z

Det blir ju bättre prestanda (snabbare alltså) om man skriver med Option Explicit och deklarerar variablerna.
Då behöver serverprylen inte leta efter odeklarerade variabler.

Har hört att det blir en prestandaökning med 100%. :)

Permalänk: https://www.webforum.nu/p/275745

## #7 — PatrikB, 2001-06-23T19:09Z

Svar på fråga 2:
Jepp, det är skillnad i prestanda i att Dimma eller inte dimma variabler.

Lite enkelt förklarat:

När man dimar en variabel så sätts det en referens vart någonstans variabeln är sparad i minnet och plats görs för variabeln i minnet. 

Om variabeln inte är dimmad så kommer det att först letas efter en plats för variabeln i minnet, dvs den kan hamna var som helst i minnesutrymmet.
När den sedan anropas så kommer hela minnet att letas igenom efter variabeln.

Detsamma gäller Subbar och Funktioner.
Variabler som används inne i subbar och funktioner bör dimmas inne i subben eller funktionen då dessa kommer att sparas i närliggande minnes fack.
Om inte det görs så kan alla variabler, subben eller funktionen hamna i olika fack i minnet och det drar som sagt ned prestandan att leta igenom alla fack efter de variabler, subbar eller funktioner som efterfrågas.

man kan se det så här för de variabler som är dimmade ordentligt:
I fack1 så sparas funktionen test()
Det sparas oxå en referens om vart ngnstans man kan hitta variablerna som finns inne funktionen oxå.
I fack2 - fack4 sparas de variabler som används inne i funktionen.
När själva funktionen körs så vet den att vart den ska hämta sina variabler ngnstans i minnet, i fack2 - fack4.

Om nu inte dessa variabler hade varit dimmade inne i funktionen så kanske de hade hamnat i fack332, fack1024, fack1025, fast utan ngn reference om VART ngnstans dessa kan hamna. Dvs, hela minnet måste gås igenom för varje anrop till var och en av variablerna med resultatet att det kommer att gå långsammare att hitta dessa.

Nu e ju jag ingen expert på detta med minneshantering, finns säkert ngn annan här som är bra mycket bättre på detta, men ngt liknande handlar det om

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/275746

## #8 — PatrikB, 2001-06-23T19:14Z

en annan sak som oxå ökar prestandan, dvs gör så att sidan processas fortare på servern, är att sätta på buffringen.

REsponse.Buffer = TRUE

Den är default i IIS5 men INTE i IIS4.
Så ni som kör IIS4 testa att sätta på Buffringen och ni kan se att sidan processas bra mycket fortare, speciellt om ni använder er av tex FileSystemObject.

cya,
PatrikB

Permalänk: https://www.webforum.nu/p/275747

## #9 — @nders, 2001-06-24T08:16Z

Menar du att det isf blir en prestandaökning när man deklarerar variabler?

ja, det var det jag menade. som tur är har vi PatrikB som kan förklara också. :)

Permalänk: https://www.webforum.nu/p/275748

---

Tråden på webben: https://www.webforum.nu/amne/asp/10219-lagra-i-variabler-eller-inte
