473,394 Members | 1,852 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,394 software developers and data experts.

question: Python or Lua for rejuvenation of old PCs?

Hi, I've been experimenting with Lua on my Tandem Himalaya K100 system (a
decade-old 4-CPU fault-tolerant server from Tandem/Compaq/HP) because it
looked like it was simpler to port than Python. Since I've only got 128 MB
per CPU and the system is already loaded with SQL and transaction processing
monitor software, it's small footprint was also very attractive. Anyway
that's how I got interested in Lua.

There has already been some discussion of Lua in this forum. At this stage
in my understanding, I'd characterize it as highly idiosyncratic, but very
dynamic in the same way Python is: it has reference rather than variable
copy semantics and functions are first-class objects. It can do OOP, but
data and method packaging are shoehorned into a somewhat complicated Swiss
Army Knife table construct. It's indexes are also unity-based and there are
no slices as in Python. However, it's sufficiently different that it
shouldn't be too hard keeping the two languages separate, unlike, say
Spanish and Portuguese.

That said, I had a project in the back of my head of putting Python on my
old PCs ranging from 4MB up to 128 MB RAM as a last-ditch attempt to avoid
facing reality and getting rid of them. However, I'm now beginning to wonder
if I would be better served by putting Lua on the low-end PCs instead. I'm
thinking of using them as nodes in a distributed, fault-tolerant home
monitoring and control system that would be easy to port later to embedded
microcontrollers.

I suppose that my question is best phrased as this: What is a comfortable
minimum RAM size that a PC needs to have to comfortably run modern Python
for non-memory-intensive applications (i.e. no big database crunching or
other thrashy stuff). I'm thinking about just polling sensors and actuating
control devices over RS-232/RS-485/LAN and doing some chitchat between the
nodes over the LAN. Based on the response, I'll draw the line between my Lua
machines and my Python machines.

Thanks in advance for any information you may have.

Jul 18 '05 #1
4 1741

"John Benson" <js******@bensonsystems.com> wrote in message
news:ma*************************************@pytho n.org...
I suppose that my question is best phrased as this: What is a comfortable
minimum RAM size that a PC needs to have to comfortably run modern Python
for non-memory-intensive applications (i.e. no big database crunching or
other thrashy stuff). I'm thinking about just polling sensors and actuating control devices over RS-232/RS-485/LAN and doing some chitchat between the nodes over the LAN. Based on the response, I'll draw the line between my Lua machines and my Python machines.


I did my first useful Python work with old DOS version on a 4 MB machine.
Disk memory size and running RAM memory size are different issues. I have
read that Lua beats Python on minimal disk footprint but have no idea of
running size. On Windows, Python.exe is very small but does import several
modules, though I believe it could be built to require less.

Terry J. Reedy
Jul 18 '05 #2
maybe these links help, even if you have to look at the numbers and
charts w/ some care:

http://dada.perl.it/shootout/craps_mem.html
quite old win2K machine (partly running cygwin tools)
Python 2.3.2 vs. Lua 5.0 (and Lua 4.0)
Lua (both versions, Lua 5.0 is even better) lead on memory usage
http://www.bagley.org/~doug/shootout...l=3&wordfreq=5
even older linux machine
Python 2.1 vs. Lua 4.0
Python leads on memory usage

having read your application specs FORTH came to my mind, having the
advantage that it is even more crude, so you have even less chances to
intermix both languages. and no one will doubt that it is usefull for
embedded controller tasks.
Jul 18 '05 #3
fB*******@web.de (Frank Bechmann) writes:
having read your application specs FORTH came to my mind, having the
advantage that it is even more crude, so you have even less chances to
intermix both languages. and no one will doubt that it is usefull for
embedded controller tasks.


He's not asking about a tiny embedded processor. Something with a 1
MB image would be fine. FORTH would be over (under?) kill. That
level of inconvenience is not needed.
Jul 18 '05 #4
he was writing about a
distributed, fault-tolerant home monitoring and control system that
would be easy to port later to embedded microcontrollers
which is not so far from
embedded controller tasks


if my english is not too worse.

and whether FORTH is too much of an inconvenience is in the eyes of
the beholder - but I have to admit that your statement is true for the
vast majority of programmers and that I forgot to add a :).
Jul 18 '05 #5

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

12
by: Anon | last post by:
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hello all I am a beginner teaching myself python, and I am enjoying it immensely :) As a language it is great, I real treat to study, I actually...
4
by: Jeffrey Borkent | last post by:
Hi There, I have an open source program which i am trying to add to. class classname(member,member) def __init__(self,list) self.__list = list self.refresh = 360
0
by: bwaha | last post by:
I've posted this question to comp.graphics.apps.gnuplot too but given that this python group may also comprise a lot of gnuplot users, and is far more active, I've posted this question here too. My...
17
by: Eric_Dexter | last post by:
def simplecsdtoorc(filename): file = open(filename,"r") alllines = file.read_until("</CsInstruments>") pattern1 = re.compile("</") orcfilename = filename + "orc" for line in alllines: if not...
4
by: Martitza | last post by:
Hi. I work for a small company (actually in process of forming) interested in embedding or extending python as part of our commercial non-open-source product. We have legal counsel, but are...
5
by: Steven W. Orr | last post by:
I'm trying again, since no response indicates that I'm not providing enough info. I have module M1 which has the following line in it: StartTime = safe_dict_get ( dic, 'starttime',...
0
by: Stodge | last post by:
Hi folks, new to Boost Python and struggling to build a prototype at work. I thought I'd start with a conceptual question to help clarify my understanding. I already have a basic prototype working...
0
by: Ohad Frand | last post by:
Hi Thanks a lot for your reply I think the main uses for it is to study the language and to see that I didn't miss anything else or that something is changed from one version to another. The...
1
by: SimonPalmer | last post by:
Apologies in advance if this is either a) the wrong board or b) been answered a million times elsewhere, but... I have been given an assignment to get a python module up and running behind an...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.