Full resolution (JPEG) - On this page / på denna sida - Software: COBOL kontra PL/1, av Bo Erdén
<< prev. page << föreg. sida << >> nästa sida >> next page >>
Below is the raw OCR text
from the above scanned image.
Do you see an error? Proofread the page now!
Här nedan syns maskintolkade texten från faksimilbilden ovan.
Ser du något fel? Korrekturläs sidan nu!
This page has never been proofread. / Denna sida har aldrig korrekturlästs.
10 DATABEHANDLING 10/1967
skillnaderna mellan ”dummy”- och
"band”-tiderna. En ökning av tiden
erhålls i ”band”-fallet, men denna
är relativt liten för både PL/1- och
CO BOL-prog rammet.
Om vi så studerar tiderna från
körningen av redigeringsprogrammet kan
vi konstatera följande:
— att även här har erhållits en
förbättring med en faktor 2 mellan
”release” 2 och ”pre-release” 3 av
PL/1
— att COBOL-kompilatorn har
genererat en kod som ger, enligt
tabell 2, 8 gånger snabbare kod än
”pre-release” 3 av PL/1
— att skrivningen på band bör ta ca
7,0 sekunder på modell 40 och ca
5,8 sekunder på modell 50. Detta
framgår av tidsskillnaden mellan
”dummy”- och "band”-tiderna i
COBOL-fallet
— att programmet framställt i COBOL
är utmatningsbundet och det
PL/1-framställda verkar
bearbetnings-bundet. Detta framgår av
tidsskillnaderna mellan "dummy” och
"band” i tabell 1.
Man kan nu konstatera att
beräkningsprogrammen har gett oss
bearbet-ningsbundenhet, vilket var att vänta.
Men att COBOL hade genererat så
mycket bättre kod var en
överraskning.
För att kunna konstatera om PL/1- och
COBOL-programmen i
redigeringsfal-let verkligen förhöll sig så som ovan
sagts, utförde vi ytterligare en
kör-ning. Denna körning bestod i att vi
körde dessa två program tillsammans
med ett speciellt tidtagningsprogram.
Vi utnyttjade här den nivån av IBM 360
operativsystem som kallas MFT.
Detta system ger en möjlighet att köra
4 oberoende program samtidigt i
maskinen. Tidtagningsprogrammet mätte
den tid som det var tvunget att
befinna sig i maskinen för att få arbeta
i 5 sekunder effektiv maskintid.
Genom att ge problemprogrammen
högre prioritet gavs
tidtagningsprogram
met möjlighet att arbeta endast då
dessa befann sig i vänteläge, dvs.
väntade på att en skrivoperation
skulle avslutas. Körningen utfördes på
modell 40, och PL/1
”pre-release”-3-kom-pilatorn användes.
Tabell 3: Tid i sekunder
Partition 2 Program PL/1 COBOL
Partition 1 tid 128,56 26,22
Tabell 4: Relationer
PL/1 = 1 ger för COBOL = 1 ger
COBOL för PL/1
0,20 4,90
ANM.:
Tidtagningsprogrammet började inte mäta tiden
förrän initieringen var klar i problemprogrammen.
Av dessa tabeller framgår att vårt
antagande var riktigt.
Tidtagningsprogrammet måste befinna sig i
maskinen ca 5 gånger längre när det körs
ihop rned det PL/1-skrivna
programmet än när det körs ihop med
COBOL-prog rammet.
Slutsatsen blir att om man önskar
hålla i gång flera program i maskinen för
att utnyttja operativsystemets
fördelar, så måste man välja COBOL som
programmeringsspråk. PL/1 :s
bearbet-ningsbundenhet kommer att medföra
förlängda bearbetningstider. Den typ
av program som här presenterats skall
köras dagligen och ofta under en stark
tidspress, varför PL/1 :s
bearbetningstider ej kan tolereras.
Men man kan ändå ställa sig frågan
vilket språk som skall väljas. Här har
bara ett avgränsat problem
presenterats. När problemsfären vidgas räcker
inte COBOL, utan man måste
komplettera med ett annat språk. Detta
innebär ökat arbete, t. ex. skrivning av
standards m. m. Problemet med PL/1
är dess uppbyggnad av maskinkoden
och dess modularitet, dvs.
subrutinstruktur. Man skulle i vissa lägen
vilja komplettera språket, men detta är
inte så lätt, och det var ju inte heller
meningen att PL/1 skulle behöva
kompletteras.
PL/1 är ett språk som vi mycket
gärna skulle använda, men förutom de
bearbetningstider som här har
presenterats så är inte alla attribut i
språket tillgängliga i dag. Ett väsentligt
problem är begränsningen i PL/1 när
det gäller hanteringen av det som i
dagligt tal kallas ”lok och vagnar”. I
PL/1 är endast en vagntyp definierad,
vilket medför stora problem,
beroende på den mycket speciella
postuppbyggnad som vi måste ha.
Nu hoppas vi att en ny kompilator
skrivs och till dess driver vi ett
mindre projekt med PL/1 som enda
programmeringsspråk. Vi behåller då
möjligheten att kontinuerligt följa upp
utvecklingen av kompilatorerna. Det är
också möjligt att man i kommande
projekt utnyttjar PL/1 som språk, men
allt beror på kompilatorutvecklingen.
<< prev. page << föreg. sida << >> nästa sida >> next page >>