Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 210139
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 11, 20262026-05-11T17:58:42+00:00 2026-05-11T17:58:42+00:00

How much slower can I reasonably expect perform: to be than a literal message

  • 0

How much slower can I reasonably expect perform: to be than a literal message send, on average? Should I avoid sending perform: in a loop, similar to the admonishment given to Perl/Python programmers to avoid calling eval("...") (Compiler evaluate: in Smalltalk) in a loop?

I’m concerned mainly with Squeak, but interested in other Smalltalks as well. Also, is the overhead greater with the perform:with: variants? Thank you

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-11T17:58:42+00:00Added an answer on May 11, 2026 at 5:58 pm

    #perform: is not like eval(). The problem with eval() (performance-wise, anyway) is that it has to compile the code you’re sending it at runtime, which is a very slow operation. Smalltalk’s #perform:, on the other hand, is equivalent to Ruby’s send() or Objective-C’s performSelector: (in fact, both of these languages were strongly inspired by Smalltalk). Languages like these already look up methods based on their name — #perform: just lets you specify the name at runtime rather than write-time. It doesn’t have to parse any syntax or compile anything like eval().

    It will be a little slower (the cost of one extra method call at least), but it isn’t like eval(). Also, the variants with more arguments shouldn’t show any difference in speed vs. just plain perform:whatever. I can’t talk with that much experience about Squeak specifically, but this is how it generally works.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

for my webapp the integrated Visual Studio Server (Cassini) ist much slower than IIS.
Since some time, my Delphi debugger became much slower than I was used to
Just how much slower are events? I have written a streaming XML parser (that
My C#.NET application is running much slower when the exe is located on the
Much like how the video tag can provide multiple source attributes so an mp4
Slower than what? slower than creating the same textures from an image loaded from
I'm trying to figure out why our software runs so much slower when run
Is Visual studio 2010 slower than 2005? I just had my laptop upgraded to
As far as I assume, std::stack and all such 'handmade' stacks work much slower
I want to time how much slower it is if i were to do

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.