# Evaluate a function for many values fast

**URL:** <https://discourse.julialang.org/t/evaluate-a-function-for-many-values-fast/124510>\
**Category:** New to Julia\
**Created:** [January 7, 2025, 7:12pm UTC](https://discourse.julialang.org/t/evaluate-a-function-for-many-values-fast/124510 "2025-01-07T19:12:35Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![stefaniecg](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/stefaniecg/32/204815_2.png) [@stefaniecg](https://discourse.julialang.org/u/stefaniecg)\
**Post date:** [January 7, 2025, 7:12pm UTC](https://discourse.julialang.org/t/evaluate-a-function-for-many-values-fast/124510/1 "2025-01-07T19:12:36Z")

</div>

I want to evaluate my function fast for many values.  
Is there a easy way to do this in Julia? 🙂

```julia
y(x) = 4*x^2 + 6*x + 34
x1 = [44,75,45]
y(x1) # my favorite sintax does not work, i was really hopping this works
for i in x1 println(y(i)) end # this works but is there a better way?

```

---

<div class="post-metadata">

**Author:** ![ufechner7](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/ufechner7/32/51363_2.png) [@ufechner7](https://discourse.julialang.org/u/ufechner7)\
**Post date:** [January 7, 2025, 7:16pm UTC](https://discourse.julialang.org/t/evaluate-a-function-for-many-values-fast/124510/2 "2025-01-07T19:16:01Z")

</div>

> [@stefaniecg](#):
>
> ```julia
> y(x) = 4*x^2 + 6*x + 34
> x1 = [44,75,45]
> 
> ```

What about:

```julia
julia> y.(x1)
3-element Vector{Int64}:
  8042
 22984
  8404

```

?  
The dot syntax can be used to apply any scalar function on a vector.

---

<div class="post-metadata">

**Author:** ![DNF](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/dnf/32/10191_2.png) [@DNF](https://discourse.julialang.org/u/DNF)\
**Post date:** [January 7, 2025, 7:23pm UTC](https://discourse.julialang.org/t/evaluate-a-function-for-many-values-fast/124510/3 "2025-01-07T19:23:45Z")

</div>

> [@stefaniecg](#):
>
> ```julia
> y(x) = 4*x^2 + 6*x + 34
> x1 = [44,75,45]
> 
> ```

If you want something even faster, do

```julia
y(x) = evalpoly(x, (34, 6, 4))
y.(x1)

```

Btw, the dot syntax is _better_ than `y(x1)`, since is doesn’t make sense to take powers of a vector, and the dot syntax makes it explicit that you are applying `y` elememtwise.
