История изменений
Исправление peregrine, (текущая версия) :
Я спал. Чекнул, проверяй, чёт ничего не изменилось у меня по скорости, какие-то доли секунды. А я даже сделал размер 3840x2160, результат в случае изменения цикла и без:
0:00:24.901781
0:00:25.444802
from PIL import Image
import sympy
import random
from datetime import datetime
start_time = datetime.now()
x = 3840 # разрешение по оси x
y = 2160 # разрешение по оси y
background_color = (0, 0, 0, 255) # цвет фона RGBA
front_color = (109, 167, 65, 255) # цвет рисунка RGBA
shift_x = random.randint(0, 10000) # сдвиг по оси x
shift_y = random.randint(0, 10000) # сдвиг по оси y
im = Image.new('RGBA', (x, y)) # создание "пустой" картинки в RGBA формате
for i in range(0, y):
for j in range(0, x):
if sympy.isprime((j + shift_x) ^ (i + shift_y)):
im.putpixel((j, i), front_color)
else:
im.putpixel((j, i), background_color)
im.save(f'img_x{shift_x}_y{shift_y}.png') # сохранение картинки
print(datetime.now() - start_time)
Ну а вот оптимизация с добавлением капельки ума:
from PIL import Image
import sympy
import random
from datetime import datetime
import numpy as np
start_time = datetime.now()
x = 3840 # разрешение по оси x
y = 2160 # разрешение по оси y
background_color = np.array([0, 0, 0, 255], dtype='uint8') # цвет фона RGBA
front_color = np.array([109, 167, 65, 255], dtype='uint8') # цвет рисунка RGBA
shift_x = random.randint(0, 10000) # сдвиг по оси x
shift_y = random.randint(0, 10000) # сдвиг по оси y
image_pixels = np.tile(background_color, (y, x, 1))
for i in range(0, x):
for j in range(0, y):
if sympy.isprime((i + shift_x) ^ (j + shift_y)):
image_pixels[j, i] = front_color
im = Image.fromarray(image_pixels)
im.save(f'img_x{shift_x}_y{shift_y}.png') # сохранение картинки
print(datetime.now() - start_time)
0:00:17.416809
Исправление peregrine, :
Я спал. Чекнул, проверяй, чёт ничего не изменилось у меня по скорости, какие-то доли секунды. А я даже сделал размер 3840x2160, результат в случае изменения цикла и без:
0:00:24.901781
0:00:25.444802
from PIL import Image
import sympy
import random
from datetime import datetime
start_time = datetime.now()
x = 3840 # разрешение по оси x
y = 2160 # разрешение по оси y
background_color = (0, 0, 0, 255) # цвет фона RGBA
front_color = (109, 167, 65, 255) # цвет рисунка RGBA
shift_x = random.randint(0, 10000) # сдвиг по оси x
shift_y = random.randint(0, 10000) # сдвиг по оси y
im = Image.new('RGBA', (x, y)) # создание "пустой" картинки в RGBA формате
for i in range(0, y):
for j in range(0, x):
if sympy.isprime((j + shift_x) ^ (i + shift_y)):
im.putpixel((j, i), front_color)
else:
im.putpixel((j, i), background_color)
im.save(f'img_x{shift_x}_y{shift_y}.png') # сохранение картинки
print(datetime.now() - start_time)
Ну а вот оптимизация с добавлением капельки ума:
from PIL import Image
import sympy
import random
from datetime import datetime
import numpy as np
start_time = datetime.now()
x = 3840 # разрешение по оси x
y = 2160 # разрешение по оси y
background_color = np.array([0, 0, 0, 255], dtype='uint8') # цвет фона RGBA
front_color = np.array([109, 167, 65, 255], dtype='uint8') # цвет рисунка RGBA
shift_x = random.randint(0, 10000) # сдвиг по оси x
shift_y = random.randint(0, 10000) # сдвиг по оси y
image_pixels = np.tile(background_color, (y, x, 1))
for i in range(0, x):
for j in range(0, y):
if sympy.isprime((i + shift_x) ^ (j + shift_y)):
image_pixels[j, i] = front_color
im = Image.fromarray(image_pixels)
im.save(f'img_x{shift_x}_y{shift_y}.png') # сохранение картинки
print(datetime.now() - start_time)
0:00:17.416809
Исправление peregrine, :
Я спал. Чекнул, проверяй, чёт ничего не изменилось у меня по скорости, какие-то доли секунды. А я даже сделал размер 3840x2160, результат в случае изменения цикла и без:
0:00:24.901781
0:00:25.444802
from PIL import Image
import sympy
import random
from datetime import datetime
start_time = datetime.now()
x = 3840 # разрешение по оси x
y = 2160 # разрешение по оси y
background_color = (0, 0, 0, 255) # цвет фона RGBA
front_color = (109, 167, 65, 255) # цвет рисунка RGBA
shift_x = random.randint(0, 10000) # сдвиг по оси x
shift_y = random.randint(0, 10000) # сдвиг по оси y
im = Image.new('RGBA', (x, y)) # создание "пустой" картинки в RGBA формате
for i in range(0, y):
for j in range(0, x):
if sympy.isprime((j + shift_x) ^ (i + shift_y)):
im.putpixel((j, i), front_color)
else:
im.putpixel((j, i), background_color)
im.save(f'img_x{shift_x}_y{shift_y}.png') # сохранение картинки
print(datetime.now() - start_time)
Ну а вот оптимизация с добавлением капельки ума:
from PIL import Image
import sympy
import random
from datetime import datetime
import numpy as np
start_time = datetime.now()
x = 3840 # разрешение по оси x
y = 2160 # разрешение по оси y
background_color = np.array([0, 0, 0, 255], dtype='uint8') # цвет фона RGBA
front_color = np.array([109, 167, 65, 255], dtype='uint8') # цвет рисунка RGBA
shift_x = random.randint(0, 10000) # сдвиг по оси x
shift_y = random.randint(0, 10000) # сдвиг по оси y
image_pixels = np.tile(background_color, (y, x, 1))
for i in range(0, x):
for j in range(0, y):
if sympy.isprime((i + shift_x) ^ (j + shift_y)):
image_pixels[j, i] = front_color
im = Image.fromarray(image_pixels)
im.save(f'img_x{shift_x}_y{shift_y}.png') # сохранение картинки
print(datetime.now() - start_time)
0:00:17.416809
Исходная версия peregrine, :
Я спал. Чекнул, проверяй, чёт ничего не изменилось у меня по скорости. А я даже сделал размер 3840x2160, результат в случае изменения цикла и без:
0:00:24.901781
0:00:25.444802
from PIL import Image
import sympy
import random
from datetime import datetime
start_time = datetime.now()
x = 3840 # разрешение по оси x
y = 2160 # разрешение по оси y
background_color = (0, 0, 0, 255) # цвет фона RGBA
front_color = (109, 167, 65, 255) # цвет рисунка RGBA
shift_x = random.randint(0, 10000) # сдвиг по оси x
shift_y = random.randint(0, 10000) # сдвиг по оси y
im = Image.new('RGBA', (x, y)) # создание "пустой" картинки в RGBA формате
for i in range(0, y):
for j in range(0, x):
if sympy.isprime((j + shift_x) ^ (i + shift_y)):
im.putpixel((j, i), front_color)
else:
im.putpixel((j, i), background_color)
im.save(f'img_x{shift_x}_y{shift_y}.png') # сохранение картинки
print(datetime.now() - start_time)
Ну а вот оптимизация с добавлением капельки ума:
from PIL import Image
import sympy
import random
from datetime import datetime
import numpy as np
start_time = datetime.now()
x = 3840 # разрешение по оси x
y = 2160 # разрешение по оси y
background_color = np.array([0, 0, 0, 255], dtype='uint8') # цвет фона RGBA
front_color = np.array([109, 167, 65, 255], dtype='uint8') # цвет рисунка RGBA
shift_x = random.randint(0, 10000) # сдвиг по оси x
shift_y = random.randint(0, 10000) # сдвиг по оси y
image_pixels = np.tile(background_color, (y, x, 1))
for i in range(0, x):
for j in range(0, y):
if sympy.isprime((i + shift_x) ^ (j + shift_y)):
image_pixels[j, i] = front_color
im = Image.fromarray(image_pixels)
im.save(f'img_x{shift_x}_y{shift_y}.png') # сохранение картинки
print(datetime.now() - start_time)
0:00:17.416809